我想做这样的事情:
df['indicator'] = df.at[x-1] + df.at[x-2]
或者
df['indicator'] = df.at[x-1] > df.at[x-2]
我猜边缘情况会自动处理,例如跳过前几行。
我想做这样的事情:
df['indicator'] = df.at[x-1] + df.at[x-2]
或者
df['indicator'] = df.at[x-1] > df.at[x-2]
我猜边缘情况会自动处理,例如跳过前几行。
这条线应该给你你需要的东西。您的列的前两行将indicator
自动填充“NaN”。
df['indicator'] = df.at.shift(1) + df.at.shift(2)
例如,如果我们有以下数据框:
a = pd.DataFrame({'date':['2017-06-01','2017-06-02','2017-06-03',
'2017-06-04','2017-06-05','2017-06-06'],
'count' :[10,15,17,5,3,7]})
date at
0 2017-06-01 10
1 2017-06-02 15
2 2017-06-03 17
3 2017-06-04 5
4 2017-06-05 3
5 2017-06-06 7
然后运行这一行将给出以下结果:
df['indicator'] = df.at.shift(1) + df.at.shift(2)
date at indicator
0 2017-06-01 10 NaN
1 2017-06-02 15 NaN
2 2017-06-03 17 25.0
3 2017-06-04 5 32.0
4 2017-06-05 3 22.0
5 2017-06-06 7 8.0