我有以下数据框:
foo bar baz
0 1234_312_GCD 1234 312
1 1234_312_GCD 1234 312
2 1234_312_GCD 1234 312
3 1234_312_GCD 1234 312
4 1234_312_GCD 1234 312
5 0777_666_lcm 0777 666
6 0777_666_lcm 0777 666
7 0777_666_lcm 0777 666
8 0777_666_lcm 0777 666
9 0777_666_lcm 0777 666
10 1234_312_lcm 1234 312
11 1234_312_lcm 1234 312
12 1234_312_lcm 1234 312
13 0777_666_GCD 0777 666
14 0777_666_GCD 0777 666
15 0777_666_GCD 0777 666
16 0777_666_GCD 0777 666
我想返回一个列表列表,其中每个列表包含
foo
的所有不同值
对应于一对不同的值 bar
和 baz
。对于示例数据框,这将是两个列表的列表,每个列表包含两个字符串:
foo_list = [['1234_312_GCD', '1234_312_lcm'], [0777_666_lcm', '0777_666_GCD']]
res_list = [group['foo'].unique().tolist() for _, group in df.groupby(['bar', 'baz'])]
将“bar”和“baz”列分组在一起,然后收集唯一值。