在panda中分组时添加默认值



我正在使用Pandas数据帧,我的数据有Date、Events和Count列。

Date        Events     Count
1/1/2021    Event1      2
1/1/2021    Event2      1
2/1/2021    Event1      2
1/2/2021    Event1      1
2/1/2021    Event2      1
3/2/2021    Event3      2
3/2/2021    Event3      2

如果事件在同一个月重复,我想按事件分组,并在count列中给定默认值1。

Date        Events  Count
1/1/2021    Event1    1
1/1/2021    Event2    1
1/2/2021    Event1    1
3/2/2021    Event3    1

使用DataFrame.drop_duplicates并将1设置为Count列:

df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)
df['months'] = df['Date'].dt.to_period('m')

df1 = df.drop_duplicates(['months','Events']).assign(Count=1)
print (df1)
Date  Events  Count   months
0 2021-01-01  Event1      1  2021-01
1 2021-01-01  Event2      1  2021-01
3 2021-02-01  Event1      1  2021-02
5 2021-02-03  Event3      1  2021-02
df1 = df1.drop('months', axis=1)
print (df1)
Date  Events  Count
0 2021-01-01  Event1      1
1 2021-01-01  Event2      1
3 2021-02-01  Event1      1
5 2021-02-03  Event3      1

最新更新