簡體   English   中英

如何創建每個id的每個日期計算行數的列

[英]how to create column that count number of rows per each date of id

我有這樣的df

   id   datetime
0   a   2022-01-18
1   a   2022-01-19
2   a   2022-01-20
3   b   2022-01-20
4   b   2022-01-20
5   c   2022-01-18

我想要 df 看起來像

    id  2022-01-20  2022-01-19   2022-01-18
0   a   1           1            1
1   b   2           0            0
2   c   0           0            1

我試過了

    df.groupby(['id', 'datetime']).size()
    
id  datetime
a   2022-01-18   1
    2022-01-19   1
    2022-01-20   1
b   2022-01-20   2
c   2022-01-18   1

它返回系列不是 dataframe 接近但仍然不是我想要的。 請幫忙

您可以使用以下代碼執行此操作

df = df.groupby(['id','date']).size().unstack(fill_value=0).reset_index()
df.columns.name = None

結果

df.head()

  id  2022-01-18  2022-01-19  2022-01-20
0  a           1           1           1
1  b           0           0           2
2  c           1           0           0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM