基于其他列统计数据帧列中某个值的出现次数

2024-09-27 00:22:29 发布

您现在位置:Python中文网/ 问答频道 /正文

This is the data frame

      Date     name 
0   2015-01-02  Adam          
1   2015-02-02  David         
2   2015-02-02  Adam          
3   2015-03-02  David         
4   2015-03-02  Hardik        
5   2015-03-02  David       

Now I want to count the occurrence of names month-wise and insert in count column. This is the expected output

      Date       name    Count
0   2015-01-02  Adam       1   
1   2015-02-02  David      1
2   2015-02-02  Adam       1
3   2015-03-02  David      2   
4   2015-03-02  Hardik     1
5   2015-03-02  David      2

Tags: thetonamedatadateiscountthis
1条回答
网友
1楼 · 发布于 2024-09-27 00:22:29
df = pd.DataFrame((['2015-01-02',  'Adam' ],         
['2015-02-02',  'David'],         
['2015-02-02',  'Adam' ],         
['2015-03-02',  'David'],         
['2015-03-02' , 'Hardik'],        
['2015-03-02' , 'David' ]),columns=['Date','name'])
df['count'] = df.groupby(["Date","name"])["name"].transform("count")
^{tb1}$

编辑

按月分组

df = pd.DataFrame((['2015-01-02',  'Adam' ],         
['2015-02-02',  'David'],         
['2015-02-02',  'Adam' ],         
['2015-03-02',  'David'],         
['2015-03-02' , 'Hardik'],        
['2015-03-02' , 'David' ]),columns=['Date','name'])
df['Date'] = pd.to_datetime(df['Date'])
df['count'] = df.groupby(["name",pd.Grouper(key='Date', freq='M')])["name"].transform("count")

相关问题 更多 >

    热门问题