数据框转换

时间:2015-12-18 19:50:59

标签: python pandas

我是非常新手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

我如何在熊猫中这样做?

2 个答案:

答案 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