熊猫真假匹配

Ang*_*son 4 boolean calculated-columns dataframe pandas

对于此表:

在此处输入图片说明

我想生成“desired_output”列。实现这一目标的一种方法可能是:

  1. col_1 中的所有 True 值都直接传输到所需的输出(红色箭头)
  2. 在 desired_output 中,将 True 值置于任何现有 True 值之上(绿色箭头)

我试过的代码:

df['desired_output']=df.col_1.apply(lambda x: True if x.shift()==True else False)
Run Code Online (Sandbox Code Playgroud)

谢谢

jez*_*ael 5

您可以通过|以下方式链接OR具有移位值的按位原件Series.shift

d = {"col1":[False,True,True,True,False,True,False,False,True,False,False,False]}
df = pd.DataFrame(d)

df['new'] = df.col1 | df.col1.shift(-1)
print (df)
     col1    new
0   False   True
1    True   True
2    True   True
3    True   True
4   False   True
5    True   True
6   False  False
7   False   True
8    True   True
9   False  False
10  False  False
11  False  False
Run Code Online (Sandbox Code Playgroud)