我有一個以日期為索引的資料框。我想計算每兩周匯總一次的事件并進行繪圖。例子:
date id
2018-01-01 a1
2018-01-01 a2
2018-01-05 a3
2018-01-12 a4
2018-01-15 a5
2018-01-17 a6
2018-01-19 a7
...
應該顯示為(格式是說明性的,如果我能夠區分就可以了):
2018-01-1 4
2018-01-2 3
...
然后情節。
如果可能的話,我想要一個引數,這樣我就可以切換到每周或每月。
uj5u.com熱心網友回復:
如果日期是索引,您可以使用resampleSemiMonthStart ('SMS') 頻率:
df.index = pd.to_datetime(df.index)
df.resample('SMS').count()
輸出:
id
date
2018-01-01 4
2018-01-15 3
您還可以使用日期偏移量(此處SemiMonthBegin)來四舍五入您的日期并將此結果用于groupby count:
group = (pd.to_datetime(df['date'])
.apply(pd.offsets.SemiMonthBegin().rollback)
)
out = df.groupby(group)['id'].count()
輸出:
date
2018-01-01 4
2018-01-15 3
Name: id, dtype: int64
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/420056.html
標籤:
上一篇:SpringBootJPA中的物體映射錯誤。物體正在創建,但未添加foreign_key
下一篇:嘗試使用JavaScript從HTML元素中提取日期并將它們與今天的日期進行比較,如果它們在30天內更改文本顏色
