【发布时间】:2018-11-22 06:51:41
【问题描述】:
我想要基于三列的组,但将原始列保留在输出中(6 列)。
这个link实际上并没有帮助我。它只有三列,并根据这三列进行分组。
这是我的original 数据框示例:
Clinic Number Question Text Answer Text Answer Date year month dayofyear
1 1 bathing No 2006/7/1 2006 1 7
2 1 dressing No 2006/7/1 2006 1 7
3 1 feeding NO 2006/7/1 2006 1 7
4 1 housekeeping No 2006/7/1 2006 1 7
5 1 medications No 2006/7/1 2006 1 7
6 2 bathing No 2006/1/1 2006 1 1
7 2 dressing Yes 2006/1/1 2006 1 1
8 2 feeding Yes 2006/1/1 2006 1 1
9 2 housekeeping Yes 2006/1/1 2006 1 1
10 2 medications No 2006/1/1 2006 1 1
我想按[clinicNumber,Answer Text, Year,month]分组,
但我需要其他列,例如Answer Date and question Text, yearOfday 列,因为稍后我想对它们进行一些计算。
我做了什么:
这是我在这个数据框上使用的组来实现我的目标。问题是输出中没有Answer date ,yearofyear ...。
grouped = data.groupby(['Clinic Number','year','month','Answer Text']).size().reset_index(name='counts')
这个group by的输出是这样的:
Clinic Number year month Answer Text counts
0 1 1999 5 No 6
1 1 2000 10 No 6
2 1 2000 2 No 6
3 1 2001 9 Yes 6
4 1 2002 2 Yes 8
5 1 2003 2 No 8
6 1 2004 4 No 8
7 1 2014 6 No 2
8 1 2015 10 No 2
5 2 2003 2 No 8
6 2 2004 4 No 8
7 2 2014 6 No 2
8 2 2015 10 No 2
任何帮助表示赞赏:)
【问题讨论】:
标签: python pandas dataframe group-by data-analysis