我有这个数据帧:
A B C
1 14 100
1 15 101
1 16 102
2 17 103
2 18 104
3 19 105
3 20 106
... ... ...
n
我想要这个输出,用于整个数据帧的n以内的任何数字:
l1 = [14, 15, 16] (the 1 in A column)
l2 = [17,18] (the 2 in A column)
l3 = [19,20] (the 3 in A column)
你能帮帮我吗?坦克!
尝试:
l1, l2, l3 = df.groupby('A')['B'].apply(list).values
只有当df[A']中有三个唯一的值时,解包才能工作,所以你可能不想解包这些值,只想从中索引得到的DataFrame
>>> df.groupby('A')['B'].apply(list)
A
1 [14, 15, 16]
2 [17, 18]
3 [19, 20]