【发布时间】:2018-11-06 09:49:05
【问题描述】:
在 pandas 数据框中,对于每一行,我只想保留前 N 个值并将其他所有值设置为 0。 我可以遍历行并做到这一点,但我确信 python/pandas 可以在一行中优雅地做到这一点。
例如:对于 N = 2
Input:
A B C D
4 10 10 6
5 20 50 90
6 30 6 4
7 40 12 9
Output:
A B C D
0 10 10 0
0 0 50 90
6 30 6 0
0 40 12 0
【问题讨论】:
-
请解释一下输出。对于列
A,您将7替换为0 并保留6,这是怎么回事? -
@MayankPorwal 每个 row 似乎只保留最大的 2 个值(或更多,如果有平局)
-
是的,没错。将进行编辑以使其清晰。