我想计算数据帧中每批非零数字之后的零数量。例如,请参阅此数据框。第一个非零簇之后的 A 列中的零数量为 2。然后在下一个簇之后,零的数量为 4,最后一个簇之后的零数量为 2。因此输出应为 [2,4 ,2]。
Time A B C
60 5 4 3
120 4 5 2
180 5 5 5
240 0 0 0
300 0 0 0
360 6 7 8
420 5 6 7
480 0 0 0
540 0 0 0
600 0 0 0
660 0 0 0
720 5 6 6
780 5 6 6
840 0 0 0
900 0 0 0
最佳答案
>>> from itertools import groupby
>>> [len(list(group)) for key, group in groupby(df.A) if key == 0]
[2, 4, 2]
元素本身用于分组,这意味着每个不同的元素将开始一个新的组;因此,每当 0
启动一个组作为键时,我们就会将(惰性)组的长度作为结果。
关于python - 计算python中每个非零簇后面的零的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67047289/