首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对pandas列执行.diff()会产生错误的输出吗?

对pandas列执行.diff()会产生错误的输出吗?
EN

Stack Overflow用户
提问于 2020-12-10 10:47:23
回答 2查看 100关注 0票数 0

我正在尝试使用.diff()在具有日期列和值列的数据帧中计算列的差异。

代码语言:javascript
复制
import pandas as pd
d = {'Date':['11/11/2011', '11/12/2011', '11/13/2011'], 'a': [2, 3,4]}
df1 = pd.DataFrame(data=d)
df1.diff(axis = 1)

Pandas给了我这样的输出:

代码语言:javascript
复制
        Date    a
0   11/11/2011  2
1   11/12/2011  3
2   11/13/2011  4

这是df1,而不是我期望输出的差异:

代码语言:javascript
复制
        Date    a
0   11/11/2011  NaN
1   11/12/2011  1
2   11/13/2011  1
EN

回答 2

Stack Overflow用户

发布于 2020-12-10 10:49:24

代码语言:javascript
复制
df1.set_index('Date').diff(axis = 0) saves the day
票数 0
EN

Stack Overflow用户

发布于 2020-12-10 10:52:46

axis=1表示减去的是列,而不是行。您的目标结果与行相关。请改用axis=0

其次,对字符串进行减法是不正确的。它将抛出一个错误,因为python不支持它。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65227816

复制
相关文章

相似问题

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