Python中按ID分组折叠文本
我有一个包含3个变量的数据集,我想创建一个新变量或更新旧的varibalePython中按ID分组折叠文本,python,Python,我有一个包含3个变量的数据集,我想创建一个新变量或更新旧的varibale键,如果groupbyQuestion和Value重复,则粘贴元素 df = pd.DataFrame({"Question":["Q008D02","Q008D02","Q008D02","Q008D02","Q008D03","Q008D03","Q008D03","Q008D03","Q008D03","Q008D04","Q008D04","Q008D04","Q008D04","Q008D04","Q008D04
键
,如果groupbyQuestion
和Value
重复,则粘贴元素
df = pd.DataFrame({"Question":["Q008D02","Q008D02","Q008D02","Q008D02","Q008D03","Q008D03","Q008D03","Q008D03","Q008D03","Q008D04","Q008D04","Q008D04","Q008D04","Q008D04","Q008D04","Q008D04"],
"Value" :[1,2,3,4,1,2,3,4,4,1,2,2,3,4,4,4],"Key": ["Text 1","Text 2","Text 3","Text 4","Answer1","Answer2","Answer3","Answer4","Answer5","Check1","Check2","Check3","Check4","Check5","Check6","Check7"]},
columns = ["Question","Value","Key"])
Question Value Key
0 Q008D02 1 Text 1
1 Q008D02 2 Text 2
2 Q008D02 3 Text 3
3 Q008D02 4 Text 4
4 Q008D03 1 Answer1
5 Q008D03 2 Answer2
6 Q008D03 3 Answer3
7 Q008D03 4 Answer4
8 Q008D03 4 Answer5
9 Q008D04 1 Check1
10 Q008D04 2 Check2
11 Q008D04 2 Check3
12 Q008D04 3 Check4
13 Q008D04 4 Check5
14 Q008D04 4 Check6
15 Q008D04 4 Check7
我想要输出
Question Value Key
0 Q008D02 1 Text 1
1 Q008D02 2 Text 2
2 Q008D02 3 Text 3
3 Q008D02 4 Text 4
4 Q008D03 1 Answer1
5 Q008D03 2 Answer2
6 Q008D03 3 Answer3
7 Q008D03 4 Answer4,Answer5
8 Q008D04 1 Check1
9 Q008D04 2 Check2,Check3
10 Q008D04 3 Check4
11 Q008D04 4 Check5,Check6,Check7
您可以使用
groupby.agg
,并指定,'.join
作为将同一组中的键粘贴在一起的聚合函数:
df.groupby(['Question', 'Value']).agg({'Key':','.join}).reset_index()