我正在遍历数据帧的所有其他列,将该值与新列中的前几列进行比较,但是我似乎无法正确引用前一列。我尝试使用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)
答案 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])