我有一个熊猫数据框,其中包含数字和字符串。一些“ ID”不止一个。对于那些我想总结的数字,并用逗号连接字符串。
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
res = {
"payload": f"{serializer.data['payload'].upper()}"
}
return Response(res, status=status.HTTP_200_OK)
利用以下内容,我可以总结出一些数字,但是我也在寻找一种组合文本的方法:
data = {'ID': ('111', '222', '333', '333'),
'Text': ('aaa', 'bbb', 'ccc', 'ddd'),
'Number_1': (1, 2, 3, 4),
'Number_2': (4, 3, 2, 1)}
df = pd.DataFrame(data)
结果应为具有以下内容的数据框:
df = df.groupby(['ID'])['Zahl', 'Zahl_2'].sum().reset_index()
答案 0 :(得分:0)
在join
列中使用带有Text
的命名聚合:
df = df.groupby(['ID']).agg(Text = ('Text', ','.join),
Number_1= ('Number_1','sum'),
Number_2 =('Number_2', 'sum')
).reset_index()
print (df)
ID Text Number_1 Number_2
0 111 aaa 1 4
1 222 bbb 2 3
2 333 ccc,ddd 7 3
编辑:
对于旧版本的熊猫,请使用:
df = df.groupby(['ID']).agg({'Text': ','.join,
'Number_1':'sum',
'Number_2': 'sum'}
).reset_index()
print (df)
ID Text Number_1 Number_2
0 111 aaa 1 4
1 222 bbb 2 3
2 333 ccc,ddd 7 3