本文介绍了Python-在数据框中查找具有相同ID的元素并将其分组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个像这样的数据框:
I have a data-frame like this :
id value1 value2
0 1 1
1 2 3
2 1 4
3 1 5
4 2 1
我希望它是这样的:
id value1 value2 count
0 1 1,4,5 3
1 2 3,1 2
推荐答案
通过 agg
与join
和 size
,但必须将列转换为字符串:
Use aggregation by agg
with join
and size
, but is necessary converting column to strings:
tups = [('value2', lambda x: ','.join(x.astype(str))), ('count', 'size')]
df1 = df.groupby('value1')['value2'].agg(tups).reset_index()
print (df1)
value1 value2 count
0 1 1,4,5 3
1 2 3,1 2
替代:
tups = [('value2', ','.join), ('count', 'size')]
df1 = df['value2'].astype(str).groupby(df['value1']).agg(tups).reset_index()
这篇关于Python-在数据框中查找具有相同ID的元素并将其分组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!