我不确定以前是否有人问过这个问题。在熊猫数据框中,我有类似的数据
A B C
1 z 0 0
2 z 1 1
3 z 2 2
4 y 0 0
5 y 1 1
6 z 2 2.5
7 z 0 0
8 z 1 0.2
9 z 2 0.8
我想得到
A B C
1 z 2 2.5
2 y 1 1
3 z 2 0.8
在上面的示例中(来自第一个表)z 分别从 B 和 C 的 0 变为 B 的 2 和 C 的 2.5,然后 B 和 C 变为 0。一个重要的属性是 B 和 C 可以不同,但是它们会去0 同时。把它想象成一个计数器,当设备关闭时,你的所有计数器都会回到 0。上面例子中的设备是 y 和 z。
同样从第一个表中,您还可以看到 B 和 C 的 y 分别从 0 变为 1,但是它们从未回到 0,但我仍然需要 B 和 C 的最大值,即 1 和 1。
我可以编写一些 python 代码来循环并进行必要的转换,但我想知道这是否可以通过一些 pandas 魔法来实现。