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

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

如何使用 Python/Pandas 從日期字段按月分組

如何使用 Python/Pandas 從日期字段按月分組

牧羊人nacy 2021-11-23 19:49:02
我有一個 Dataframe df 如下:date               value_1    value_22018.07.06           10          02018.07.14           20          12018.07.27           20          22018.08.06           30          12018.08.09           40          32018.08.13           20          22018.09.10           30          12018.09.22           50          22018.10.09           20          32018.10.27           20          1我需要按月對上述數據進行分組以獲得輸出:date              value_1    value_22018.07.01           50          32018.08.01           90          62018.09.01           80          32018.10.01           40          4我怎樣才能在熊貓中有效地做到這一點?
查看完整描述

3 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

嘗試使用 pd.Grouper 和 freq = 'MS' 進行分組:


df.groupby(pd.Grouper(freq='MS', key='date')).sum().reset_index()

輸出:


        date  value_1  value_2

0 2018-07-01       50        3

1 2018-08-01       90        6

2 2018-09-01       80        3

3 2018-10-01       40        4

而且,如果您想恢復點日期格式,可以使用以下命令:


df_out = df.groupby(pd.Grouper(freq='MS', key='date')).sum().reset_index()


df_out['date'] = df_out['date'].dt.strftime('%Y.%m.%d')


df_out

輸出:


         date  value_1  value_2

0  2018.07.01       50        3

1  2018.08.01       90        6

2  2018.09.01       80        3

3  2018.10.01       40        4


查看完整回答
反對 回復 2021-11-23
?
慕容708150

TA貢獻1831條經驗 獲得超4個贊


df.date=pd.to_datetime(df.date)

df.groupby(df.date+pd.offsets.MonthBegin(-1)).sum()

Out[171]: 

            value_1  value_2

date                        

2018-07-01       50        3

2018-08-01       90        6

2018-09-01       80        3

2018-10-01       40        4


查看完整回答
反對 回復 2021-11-23
?
MM們

TA貢獻1886條經驗 獲得超2個贊

如果您將日期作為索引,則就像重新采樣一樣簡單。


df.resample('MS').sum()

如果您還沒有將其作為索引,則可以set_index.


df.set_index('date').resample('MS').sum()

兩者都給你


            value_1  value_2

date                        

2018-07-01       50        3

2018-08-01       90        6

2018-09-01       80        3

2018-10-01       40        4


查看完整回答
反對 回復 2021-11-23
  • 3 回答
  • 0 關注
  • 506 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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