根据此行的另一列与上一行之间的差异确定值

时间:2018-01-26 16:44:18

标签: python pandas dataframe

我有一个DataFrame,其中每行对应于每日数字。有一个名为price的列,我现在正在尝试添加另一列change,如果此行的价格大于或等于前一行的价格,则应设置为1,或者否则为0,如果小于。

期望的结果:

    price    change
0      13       NaN
1      11         0
2      12         1
3      12         1

它应该与pandas.DataFrame.pct_change

类似

事实上,我可以使用pct_change创建一个新列,然后如果pct_change为负数则另一列设置为0,否则设置为1。有没有更好的方法一步完成?

1 个答案:

答案 0 :(得分:0)

您可以设置

df['change'] = (df.price.diff()>=0).astype(int)