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

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

按月、年等對每行之間的差異進行分組的最佳方法?

按月、年等對每行之間的差異進行分組的最佳方法?

鴻蒙傳說 2023-02-22 10:55:14
我有一個如下所示的數據框:Index                                  Diff2019-03-14 11:32:21.583000+00:00       02019-03-14 11:32:21.583000+00:00       22019-04-14 11:32:21.600000+00:00       132019-04-14 11:32:21.600000+00:00       142019-05-14 11:32:21.600000+00:00       192019-05-14 11:32:21.600000+00:00       27按月分組并在這幾個月內取差的最佳方法是什么?使用該.diff()選項我能夠找到每一行之間的差異,但我試圖使用但df.groupby(pd.Grouper(freq='M'))沒有成功。預期輸出:    Index                       Diff0   2019-03-31 00:00:00+00:00   2.01   2019-04-30 00:00:00+00:00   1.02   2019-05-31 00:00:00+00:00   8.0任何幫助將非常感激??!
查看完整描述

1 回答

?
人到中年有點甜

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

根據您的日期是否在索引中,您可以注釋掉df1 = df.reset_index()。另外,如果索引DateTimeIndex在索引上,請檢查其格式是否正確。如果格式不正確,則可以使用更改數據類型df.index = pd.to_datetime(df.index)。然后,您應該設置為更改Diff列df1.groupby(pd.Grouper(key='Index', freq='M'))['Diff'].diff(),然后使用完整數據框更改 groupby:


輸入:


import pandas as pd

df = pd.DataFrame({'Diff': {'2019-03-14 11:32:21.583000+00:00': 2,

  '2019-04-14 11:32:21.600000+00:00': 14,

  '2019-05-14 11:32:21.600000+00:00': 27}})

df.index.name = 'Index'

df.index = pd.to_datetime(df.index)

代碼:


df1 = df.reset_index()

df1['Diff'] = df1.groupby(pd.Grouper(key='Index', freq='M'))['Diff'].diff()

df1 = df1.groupby(pd.Grouper(key='Index', freq='M'))['Diff'].max().reset_index()

df1

輸出:


    Index                       Diff

0   2019-03-31 00:00:00+00:00   2.0

1   2019-04-30 00:00:00+00:00   1.0

2   2019-05-31 00:00:00+00:00   8.0


查看完整回答
反對 回復 2023-02-22
  • 1 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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