参考上一列

时间:2018-12-21 18:23:13

标签: python pandas

我正在遍历数据帧的所有其他列,将该值与新列中的前几列进行比较,但是我似乎无法正确引用前一列。我尝试使用shift,但似乎不适用于列。

df = pd.DataFrame(np.random.randn(8, 4),columns=['A', 'B', 'C', 'D'])
for x in df.ix[:, 1::2]:

    df['Diff']=df[x]<df.index[x-1]

print (df)

2 个答案:

答案 0 :(得分:1)

也许是吗?

for i in range(1, df.shape[1]):
    df['diff'] = df[df.columns[i]] < df[df.columns[i-1]]

答案 1 :(得分:1)

使它尽可能接近您的逻辑:

df = pd.DataFrame(np.random.randn(8, 4),columns=['A', 'B', 'C', 'D'])
for x in df.columns[1::2]:    
    print(df.iloc[:,df.columns.get_loc(x)] < df.iloc[:,df.columns.get_loc(x)-1])