Python 2.7 在python中,如何将结果保存在数据帧的不同列中?

Python 2.7 在python中,如何将结果保存在数据帧的不同列中?,python-2.7,pandas,dataframe,multiple-columns,calculated-columns,Python 2.7,Pandas,Dataframe,Multiple Columns,Calculated Columns,我必须将一列与数据框中的所有其他列进行比较。我必须与其他人比较的列位于位置4,所以我写df.iloc[x,4]来获取列值。然后,我必须考虑这些值,将它们与下一列中的值相乘(例如DF.IOCO[x,5)],在数据文件中创建一个新列并保存结果。然后我必须重复这个过程,直到现有列的末尾(原始数据帧有43列,因此它的结尾是df.iloc[x,43]) 如何在python中实现这一点? 如果可能的话,你能举一些例子吗?我试着把我的密码写在邮件里,但我对我的新手机不太在行 我认为您可以使用-将过滤后的数据帧

我必须将一列与数据框中的所有其他列进行比较。我必须与其他人比较的列位于位置4,所以我写df.iloc[x,4]来获取列值。然后,我必须考虑这些值,将它们与下一列中的值相乘(例如DF.IOCO[x,5)],在数据文件中创建一个新列并保存结果。然后我必须重复这个过程,直到现有列的末尾(原始数据帧有43列,因此它的结尾是df.iloc[x,43]) 如何在python中实现这一点? 如果可能的话,你能举一些例子吗?我试着把我的密码写在邮件里,但我对我的新手机不太在行

我认为您可以使用-将过滤后的
数据帧
E
列比较
4

df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6],
                   'C':[7,8,9],
                   'D':[1,3,5],
                   'E':[5,3,6],
                   'F':[7,8,9],
                   'G':[1,3,5],
                   'H':[5,3,6],
                   'I':[7,4,3]})

print (df)
   A  B  C  D  E  F  G  H  I
0  1  4  7  1  5  7  1  5  7
1  2  5  8  3  3  8  3  3  4
2  3  6  9  5  6  9  5  6  3

print (df.iloc[:,5:].eq(df.iloc[:,4], axis=0))
       F      G     H      I
0  False  False  True  False
1  False   True  True  False
2  False  False  True  False
如果需要在位置
4
中按列多个,请使用:

或者,如果需要多个移位列:

print (df.iloc[:,4:].mul(df.iloc[:,5:], axis=0, fill_value=1))
     E   F   G   H   I
0  5.0  49   1  25  49
1  3.0  64   9   9  16
2  6.0  81  25  36   9
我想您可以使用-将过滤后的
数据帧
E
列在
4
位置进行比较:

df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6],
                   'C':[7,8,9],
                   'D':[1,3,5],
                   'E':[5,3,6],
                   'F':[7,8,9],
                   'G':[1,3,5],
                   'H':[5,3,6],
                   'I':[7,4,3]})

print (df)
   A  B  C  D  E  F  G  H  I
0  1  4  7  1  5  7  1  5  7
1  2  5  8  3  3  8  3  3  4
2  3  6  9  5  6  9  5  6  3

print (df.iloc[:,5:].eq(df.iloc[:,4], axis=0))
       F      G     H      I
0  False  False  True  False
1  False   True  True  False
2  False  False  True  False
如果需要在位置
4
中按列多个,请使用:

或者,如果需要多个移位列:

print (df.iloc[:,4:].mul(df.iloc[:,5:], axis=0, fill_value=1))
     E   F   G   H   I
0  5.0  49   1  25  49
1  3.0  64   9   9  16
2  6.0  81  25  36   9