我有数据框:
elements1 | elements2
a dog
b dog
a cat
x cat
c cat
m pig
k pig
...
,我想获取以下格式的数据框:
elements1 | elements2
a, b dog
a, x, c cat
m, k pig
...
实际上,我们将elements2
分组,然后用逗号将相应的elements1
除以。此数据框中的所有项目都是字符串。
答案 0 :(得分:2)
我们可以使用groupby
,apply
和lambda
,其中所有匹配的元素都用逗号连接。
df1 = df.groupby('elements2')['elements1'].apply(lambda x : ','.join(x)).reset_index()
cols = ['elements1','elements2'] # sort cols by your desired input.
print(df1[cols].sort_values('elements1'))
elements1 elements2
1 a,b dog
0 a,x,c cat
2 m,k pig