我是非常新手Python pandas用户所以这可能是一个愚蠢的问题,熊猫可能有简单的方法来做这个操作
我的数据框如下:
Name Activity Date
Abc. Run. June 3
Cde. Walk. Sept. 4
Abc. Run. June 4
Abc. Run. June 5
Code. Walk. June 3
Cde. Run. Sept 5
我想将其转换为
Name run freq walk freq
Abc. 3. 0
Cde. 1. 1
Code. 0. 1
我如何在熊猫中这样做?
答案 0 :(得分:1)
您希望按名称和活动进行分组并获得总和:
df.groupby(['Name', 'Activity']).sum()
答案 1 :(得分:1)
列上的组,获取每个列的计数,然后将结果取消堆叠。
df = pd.DataFrame({'Name': ['Abc.', 'Cde.', 'Abc.', 'Abc.', 'Code.', 'Cde.'],
'Activity': ['Run.', 'Walk.', 'Run.', 'Run.', 'Walk.', 'Run.'],
'Date': ['June 3', 'Sept. 4', 'June 4', 'June 5', 'June 3', 'Sept 5']})
>>> df.groupby(['Name', 'Activity']).count().unstack()
Date
Activity Run. Walk.
Name
Abc. 3 NaN
Cde. 1 1
Code. NaN 1