首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中,取每个值与其前面的值之间的差异。

在python中,取每个值与其前面的值之间的差异。
EN

Stack Overflow用户
提问于 2022-04-25 22:26:13
回答 1查看 37关注 0票数 0

我有csv文件在一列中有这样的值:

代码语言:javascript
复制
1
9
5
7
3

如何计算以下之间的差异:

代码语言:javascript
复制
1-0=1   #(A1)
9-1=8   #(A2-A1)
5-2=3   #(A3-A2)
7-3=4   #(A4-A3)
3-7= -4  #(A5-A4)

其结果是:

代码语言:javascript
复制
1 8 3 4 -4

并将结果放在同一个csv文件的第二列中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-25 22:51:22

代码语言:javascript
复制
data = {'Numbers' : [234,-435,38,56,-4567,34,998]}
df = pd.DataFrame(data)
df['diff'] = df['Numbers'].rolling(window=2).apply(lambda x: x.iloc[1] - x.iloc[0]).fillna(df.Numbers.iloc[0])

第一行将是NaN,因此为了避免将填充NaN添加到零

输出:

代码语言:javascript
复制
   Numbers    diff
0      234   234.0
1     -435  -669.0
2       38   473.0
3       56    18.0
4    -4567 -4623.0
5       34  4601.0
6      998   964.0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72006341

复制
相关文章

相似问题

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