Python dataframe.at[]添加新列,而不是添加值
我有一个数据帧:Python dataframe.at[]添加新列,而不是添加值,python,arrays,pandas,dataframe,if-statement,Python,Arrays,Pandas,Dataframe,If Statement,我有一个数据帧: APPLICATION COUNT K3_Code_Sender K3_Code_Receiver TWO 0 BCCTBL_2 0.0 0 287 x 1 BDLSMF01 0.0 9996 0 x 2 BEX00003 0.0 762 0 x 3
APPLICATION COUNT K3_Code_Sender K3_Code_Receiver TWO
0 BCCTBL_2 0.0 0 287 x
1 BDLSMF01 0.0 9996 0 x
2 BEX00003 0.0 762 0 x
3 BEX01910 711762.0 762 0 x
4 BEX02955 60.0 0 287 x
5 BEX02970 12058.0 762 387 x
6 BEX03148 179.0 0 0 x
在下面的iterate和if语句(行[4]=行['TWO']之后,这样做只是为了检查列位置)
我获取新列,而不是将值设置为两列:
APPLICATION COUNT K3_Code_Sender K3_Code_Receiver TWO x
0 BCCTBL_2 0.0 0 287 x 1.0
1 BDLSMF01 0.0 9996 0 x 1.0
2 BEX00003 0.0 762 0 x 1.0
3 BEX01910 711762.0 762 0 x 1.0
4 BEX02955 60.0 0 287 x 1.0
5 BEX02970 12058.0 762 387 x 2.0
6 BEX03148 179.0 0 0 x 1.0
如何解决此问题,以便我们能够:
APPLICATION COUNT K3_Code_Sender K3_Code_Receiver TWO
0 BCCTBL_2 0.0 0 287 1.0
1 BDLSMF01 0.0 9996 0 1.0
2 BEX00003 0.0 762 0 1.0
3 BEX01910 711762.0 762 0 1.0
4 BEX02955 60.0 0 287 1.0
5 BEX02970 12058.0 762 387 2.0
6 BEX03148 179.0 0 0 1.0
试试这个
for index, row in df_fin_k.iterrows():
if row['K3_Code_Sender'] != '0' and row['K3_Code_Receiver'] != '0':
df_fin_k.at[index, 'TWO'] = 2
else:
df_fin_k.at[index, 'TWO'] = 1
我已将[index,row['TWO']]=1处的df_fin_k.替换为df_fin_k.[index,TWO']=1
尝试一下
for index, row in df_fin_k.iterrows():
if row['K3_Code_Sender'] != '0' and row['K3_Code_Receiver'] != '0':
df_fin_k.at[index, 'TWO'] = 2
else:
df_fin_k.at[index, 'TWO'] = 1
我已将[index,row['TWO']]=1的df_fin_k.替换为df_fin_k.在[index,TWO']=1的我尝试了以下方法:
for index , row in df.iterrows():
if row['K3_Code_Sender'] + row['K3_Code_Receiver'] == 0:
df['TWO'][index] = 2
else:
df['TWO'][index] = 1
我试过这个:
for index , row in df.iterrows():
if row['K3_Code_Sender'] + row['K3_Code_Receiver'] == 0:
df['TWO'][index] = 2
else:
df['TWO'][index] = 1
第一个回答很好!您是否也获得了所需的输出?这是有点不清楚,当你说,你尝试它没有指定任何结果@Aerows谢谢,它首先给出了“me/usr/local/lib/python3.6/dist packages/ipykernel_launcher.py:5:SettingWithCopyWarning:A值试图在数据帧的切片副本上进行设置”@Aerows,但当我使用df.head(6)时,它给出了我想要的输出第一个好答案!您是否也获得了所需的输出?这是有点不清楚,当你说,你尝试它没有指定任何结果@Aerows谢谢,它首先给出了“me/usr/local/lib/python3.6/dist packages/ipykernel_launcher.py:5:SettingWithCopyWarning:试图在数据帧的切片副本上设置值”@Aerows,但当我使用df.head(6)时,它给出了我想要的输出