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

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

在python中按日期和ID計算值的變化

在python中按日期和ID計算值的變化

海綿寶寶撒 2022-07-05 17:18:19
我有一個包含三列的數據框:ID、日期(總是月末)和給定日期的給定 ID 的值。這些值隨時間而變化,并且對于 ID 是唯一的。如何計算給定 ID 從一個月到下個月的價值變化(百分比和絕對值)?這是樣本數據。我想有一個新的列,它將顯示對于 ID 1850,從 2007-12-01 到 2008-01-01 的變化是 0.0004,依此類推,每個 ID 的每個月都在逐月變化??偣灿写蠹s 100k 行和大約 1000 個不同的 IDDate                ID       value_2007-12-01 00:00:00 1850    -0.04961339792949192008-01-01 00:00:00 1850    -0.05003871319963072008-02-01 00:00:00 1850    -0.04924222158084072007-02-01 00:00:00 4022    -0.01959196253466132007-03-01 00:00:00 4022    -0.01940715948549362007-04-01 00:00:00 4022    -0.009497705075148442007-05-01 00:00:00 4022    -0.006112898510534812007-06-01 00:00:00 4022    -0.009668282783543292007-07-01 00:00:00 4022    -0.0104203278347162007-08-01 00:00:00 4022    -0.003743613361761632007-09-01 00:00:00 4022    -0.02171891685748242007-10-01 00:00:00 4022    -0.02109274931348182007-11-01 00:00:00 4022    -0.02085405581702042007-12-01 00:00:00 4022    -0.02818918595727892008-01-01 00:00:00 4022    -0.03424016667008592008-02-01 00:00:00 4022    -0.03452091404190462007-12-01 00:00:00 51667   -0.004572539248550032008-01-01 00:00:00 51667   -0.006134361344230862008-02-01 00:00:00 51667   -0.011212483689408```)
查看完整描述

1 回答

?
qq_笑_17

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

確保數據框按 ID 和日期排序。


按 ID 分組在值列上使用 diff():


df['Date']= pd.to_datetime(df['Date'])

df = df.sort_values(['ID','Date'])

df['diff'] = df.groupby('ID')['value_'].diff().fillna(0)


查看完整回答
反對 回復 2022-07-05
  • 1 回答
  • 0 關注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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