我有一个Pandas数据框,长这样:
import pandas as pd
f1 = [['abc', 'def'], ['ghi', 'jkl'], ['mno', 'pqr'], ['stu', 'vwx'], ['yz', 'xx'], ['yx', 'zx'], ['text', 'more'], ['stuff', 'here'], ['last', 'one']]
f2 = ['1', '1', '1', '2', '2', '2', '3', '3', '3']
groups = ['GROUP A', 'GROUP A', 'GROUP A', 'GROUP B', 'GROUP B', 'GROUP B', 'GROUP C', 'GROUP C', 'GROUP C']
df = pd.DataFrame({'Groups': groups, 'Feature 1': f1, 'Feature 2': f2})
df
# DataFrame print:
Groups Feature 1 Feature 2
0 GROUP A [abc, def] 1
1 GROUP A [ghi, jkl] 1
2 GROUP A [mno, pqr] 1
3 GROUP B [stu, vwx] 2
4 GROUP B [yz, xx] 2
5 GROUP B [yx, zx] 2
6 GROUP C [text, more] 3
7 GROUP C [stuff, here] 3
8 GROUP C [last, one] 3
我正在尝试按"Group"列对数据进行分组,以便生成如下的数据框架:
Groups Feature 1 Feature 2
GROUP A [abc, def, ghi, jkl, mno, pqr] 1
GROUP B [stu, vwx, yz, xx, yx, zx] 2
GROUP C [text, more, stuff, here, last, one] 3
换句话说,我的群组在“群组”列中重复出现,并且每个重复都对应于属于该组的单个列表。
我想消除“群组”列中多个重复的群组,并将与每个组相关联的所有单个列表合并为一个包含单行中所有元素的合并列表。
我已经尝试了一些
groupby()
方法并进行了搜索,但我无法实现。谢谢!