我正试图根据数据帧中列值的特定条件从熊猫数据帧生成一个列表,我的df看起来类似
df =
48 150 39 0
0 BE0974302342 0 0 21
1 BE0974302342 3 3 19
2 BE0974302342 F 2 2
3 FR0000073843 0 0 22
4 FR0000073843 3 3 20
5 FR0000073843 F 2 2
6 FR0000076861 0 0 21
7 FR0000076861 3 3 18
8 FR0000076861 F 1 3
9 FR0000076861 F 2 3
10 FR0000076887 0 0 13
11 FR0000076887 3 3 11
12 FR0000076887 8 8 19
13 FR0000076887 F 2 2
14 FR0000077562 0 0 22
15 FR0000077562 3 3 19
16 FR0000077562 F 2 3
17 FR0000079147 0 0 20
18 FR0000079147 3 3 16
19 FR0000079147 F 1 1
20 FR0000079147 F 2 4
21 FR0004034072 0 0 14
22 FR0004034072 3 3 12
23 FR0004034072 8 8 21
24 FR0004034072 F 2 2
25 FR0004152874 0 0 22
26 FR0004152874 3 3 20
27 FR0004152874 F 1 1
28 FR0004152874 F 2 2
29 FR0004178572 0 0 21
...
在这里,第150列和第39列的组合有意义,所以我想根据组合提取计数,有6种可能的组合
150 39
0 0
3 3
4 4
8 8
F 1
F 2
我想形成一个最终的清单,它将对“48”列中的每个值的这些组合进行计数,
例如:
'BE0974302342', (150=0, 39=0) record count is 21, (150=3, 39=3) is 19, (150=4, 39=4) is 0, (150=8, 39=8) is 0, (150=F, 39=1) is 0, (150=F,39=2) is 2
所以最终的记录列表应该是
[[BE0974302342,21,19,0,0,0,2],
[FR0000073843,22,20,0,0,0,2],
[FR0000076861,21,18,0,0,1,3]...]
我尝试了什么:我尝试将df转换成list,然后遍历每个子列表,检查150和39个值的组合,这些值部分有效,但我希望有一个更好的解决方案,能够完美地工作,会感谢任何帮助或建议的方法要做到这一点,先谢谢。