【发布时间】:2023-03-28 18:00:01
【问题描述】:
我有一个包含两列 x 和 y 的 df。 y 列是 x 值的累积计数。 x 值具有不同的计数。如何在不遍历行的情况下获得每个 x 的前两个 y 计数的结果 df。
示例 df:
df = pd.DataFrame({"x": [101, 101, 101, 101, 201, 201, 201, 405, 405], "y": [1, 2, 3, 4, 1, 2, 3, 1, 2]})
x y
0 101 1
1 101 2
2 101 3
3 101 4
4 201 1
5 201 2
6 201 3
7 405 1
8 405 2
想要的结果:
x y
101 3
101 4
201 2
201 3
405 1
405 2
【问题讨论】:
-
您真的需要单独的
y列吗?你不能只使用df.x.count来找出最大的y 值是多少。然后做一些掩码复制得到 n-1。