亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據以新值重新啟動的差異創建新列

根據以新值重新啟動的差異創建新列

婷婷同學_ 2023-04-11 16:22:31
我目前正在使用 pandas 并且有一個 df 目前看起來像這樣:     LOCATION   TIME   Value       0         AUS   2000   33.595673       1         AUS   2001   57.8623622         AUS   2002   58.5886083          UK   2000   61.74          UK   2001   63.2432325          UK   2002   66.235122我想添加另一列,列出值列中后續行之間的差異,但希望它在 LOCATION 更改時重新啟動。所以基本上它應該在上面的例子中的第 2 行和第 3 行之間重新開始
查看完整描述

2 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

 df['valuedif']=df[['LOCATION', 'TIME', 'Value']].groupby('LOCATION').Value.apply(lambda x: x.diff())

print(df)




  LOCATION  TIME      Value   valuedif

0      AUS  2000  33.595673        NaN

1      AUS  2001  57.862362  24.266689

2      AUS  2002  58.588608   0.726246

3       UK  2000  61.700000        NaN

4       UK  2001  63.243232   1.543232

5       UK  2002  66.235122   2.991890


查看完整回答
反對 回復 2023-04-11
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

如果我正確理解你在尋找什么,解決方案是:


df.groupby("LOCATION").diff()

輸出是:


   TIME      Value

0   NaN        NaN

1   1.0  24.266689

2   1.0   0.726246

3   NaN        NaN

4   1.0   1.543232

5   1.0   2.991890


查看完整回答
反對 回復 2023-04-11
  • 2 回答
  • 0 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號