Python 如何比较特定列中两行的值?

Python 如何比较特定列中两行的值?,python,pandas,Python,Pandas,我被要求创建一个新的布尔列,在这里我必须比较价格是否比前一天上涨。例如,第二行信号应为真,因为193.60>178.97 我尝试迭代行,提取“close”值并比较它们。然而,它不起作用 a=0 b=df[0]['Close'] for i in range(1,len(df)): a = df[i]['Close'] if b < a: df[i]['Signal'] = True else: df[i]['signal'] = Fa

我被要求创建一个新的布尔列,在这里我必须比较价格是否比前一天上涨。例如,第二行信号应为真,因为193.60>178.97

我尝试迭代行,提取“close”值并比较它们。然而,它不起作用

a=0
b=df[0]['Close']
for i in range(1,len(df)):
    a = df[i]['Close']
    if b < a:
        df[i]['Signal'] = True
    else:
        df[i]['signal'] = False

    b=a

print(df)

a=0
b=df[0][“关闭”]
对于范围(1,len(df))中的i:
a=df[i][‘关闭’]
如果b
a=0
b=df[0][“关闭”]
对于范围(1,len(df))中的i:
a=df[i][‘关闭’]
如果b
让我们做
shift

df['Sig'] = df['Close'].shift().fillna(0)<df['Close']

df['Sig']=df['Close'].shift().fillna(0)让我们做
shift

df['Sig'] = df['Close'].shift().fillna(0)<df['Close']

df['Sig']=df['Close'].shift().fillna(0)看一看。好的,看一看。好的,看一看