首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Pandas:如何对使用先前值的操作进行矢量化?

Python Pandas:如何对使用先前值的操作进行矢量化?
EN

Stack Overflow用户
提问于 2019-01-31 10:11:40
回答 1查看 325关注 0票数 0

我想做这样的事情:

df['indicator'] = df.at[x-1] + df.at[x-2]

df['indicator'] = df.at[x-1] > df.at[x-2]

我猜边缘情况会自动处理,例如跳过前几行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-31 10:21:05

这一行应该能满足您的需求。indicator列的前两行将自动填充'NaN‘。

df['indicator'] = df.at.shift(1) + df.at.shift(2)

例如,如果我们有以下数据帧:

代码语言:javascript
复制
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

然后,运行这一行将得到以下结果:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54452345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档