为了账号安全,请及时绑定邮箱和手机立即绑定

计算数据框列中的值之间的差异

计算数据框列中的值之间的差异

心有法竹 2022-07-05 17:43:06
我有这个数据框:a   b   c   d4   7   5   123   8   2   81   9   3   59   2   6   4我希望列 'd' 成为列 a 的 n 值和列 'a' 的 n+1 值之间的差异。我试过了,但它没有运行:for i in data.index-1:data.iloc[i]['d']=data.iloc[i]['a']-data.iloc[i+1]['a']谁能帮我?
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

基本上你想要的是差异。


df = pd.DataFrame.from_dict({"a":[4,3,1,9]})

df["d"] = df["a"].diff(periods=-1)


print(df)

输出

   a    d

0  4  1.0

1  3  2.0

2  1 -8.0

3  9  NaN


查看完整回答
反对 回复 2022-07-05
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

让我们尝试简单的方法:


df=pd.DataFrame.from_dict({'a':[2,4,8,15]})

diff=[]

for i in range(len(df)-1):

    diff.append(df['a'][i+1]-df['a'][i])

diff.append(np.nan)

df['d']=diff

print(df)


    a   d

0   2   2.0

1   4   4.0

2   8   7.0

3   15  NaN


查看完整回答
反对 回复 2022-07-05
  • 2 回答
  • 0 关注
  • 119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号