Python:从dataframe的一列中删除除存储在第一行的最后一个值之外的所有数据
假设我有一个简单的数据帧Python:从dataframe的一列中删除除存储在第一行的最后一个值之外的所有数据,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,假设我有一个简单的数据帧 data1 = [12,34,465,678,896] df1 = pd.DataFrame(data1, columns= ['Data']) print(df1) Data 0 12 1 34 2 465 3 678 4 896 我想删除除第一行中要保存的列的最后一个值以外的所有数据。它可以是一个包含数千行的列。因此,我想知道结果: Data 0 896 1 2 3 4 最简单的功能是什么 谢谢您可以
data1 = [12,34,465,678,896]
df1 = pd.DataFrame(data1, columns= ['Data'])
print(df1)
Data
0 12
1 34
2 465
3 678
4 896
我想删除除第一行中要保存的列的最后一个值以外的所有数据。它可以是一个包含数千行的列。因此,我想知道结果:
Data
0 896
1
2
3
4
最简单的功能是什么
谢谢您可以使用iloc,其中0是数据列的第一行,-1是最后一行,1:是除第一行以外的每一行:
df1['Data'].iloc[0] = df1['Data'].iloc[-1]
df1['Data'].iloc[1:] = ''
df1
Out[1]:
Data
0 896
1
2
3
4
您可以使用iloc,其中0是数据列的第一行,-1是最后一行,1:是除第一行以外的每一行:
df1['Data'].iloc[0] = df1['Data'].iloc[-1]
df1['Data'].iloc[1:] = ''
df1
Out[1]:
Data
0 896
1
2
3
4
使用loc访问器。使用python x,y=a,b来分配值
df1.loc[0,'Data'],df1.loc[1::,'Data']=df1['Data'].values[-1],''
Data
0 896
1
2
3
4
使用loc访问器。使用python x,y=a,b来分配值
df1.loc[0,'Data'],df1.loc[1::,'Data']=df1['Data'].values[-1],''
Data
0 896
1
2
3
4
您可以使用python列表的方法,如下所示:
my_data = df1['Data'].to_list() # Get list from Serie
my_data.reverse() # Reverse order.
my_data[1:] = [""]*len(my_data[1:]) # Fill with spaces from the second item.
df1['Data'] = my_data
输出:
Data
0 896
1
2
3
4
您可以使用python列表的方法,如下所示:
my_data = df1['Data'].to_list() # Get list from Serie
my_data.reverse() # Reverse order.
my_data[1:] = [""]*len(my_data[1:]) # Fill with spaces from the second item.
df1['Data'] = my_data
输出:
Data
0 896
1
2
3
4