Python 参考上一列

Python 参考上一列,python,pandas,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) df=pd.DataFrame(np.random.randn(8,4),列

我循环遍历数据帧的每一列,将该值与新列中的前几列进行比较,但我似乎无法正确引用前一列。我尝试使用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)
df=pd.DataFrame(np.random.randn(8,4),列=['A','B','C','D'])
对于df.ix[:,1::2]中的x:
df['Diff']=df[x]可能是这个

for i in range(1, df.shape[1]):
    df['diff'] = df[df.columns[i]] < df[df.columns[i-1]]
范围(1,df.shape[1])中的i的
:
df['diff']=df[df.columns[i]
也许是这个

for i in range(1, df.shape[1]):
    df['diff'] = df[df.columns[i]] < df[df.columns[i-1]]
范围(1,df.shape[1])中的i的
:
df['diff']=df[df.columns[i]
使其尽可能接近您的逻辑:

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])
df=pd.DataFrame(np.random.randn(8,4),列=['A','B','C','D'])
对于df.列[1::2]中的x:
打印(df.iloc[:,df.columns.get_loc(x)]
使其尽可能接近您的逻辑:

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])
df=pd.DataFrame(np.random.randn(8,4),列=['A','B','C','D'])
对于df.列[1::2]中的x:
打印(df.iloc[:,df.columns.get_loc(x)]
每隔一列循环一次为什么要使用
.ix
?向我们显示引用该列的预期输出,我知道它不再使用了,但它现在可以使用@Yucaa新列,带有真或假值,比较每个偶数列和它们以前的列@W-Blooping遍历其他列为什么要使用
.ix
?向我们显示引用该列的预期输出,我知道它不再被使用了,但它现在可以在@Yucaa new column使用真或假值来比较每一个偶数列和它们之前的@W-B列