pandas:如何基于所有列的总和选择行?

6

我该如何基于 pandas 中列的总和选择行?比如说,我想要选择所有列的总和大于 0 的行。

1个回答

12

使用sum函数,设置参数axis=1

In [59]:

df = pd.DataFrame({'a':randn(10), 'b':randn(10), 'c':randn(10)})
df
Out[59]:
          a         b         c
0 -0.196883 -0.749798  0.321718
1 -0.472434  1.465179 -0.264934
2  0.131524  1.071453  1.575231
3 -2.940246 -1.532570 -0.635035
4  1.037159 -0.466863  0.535814
5 -1.924729  1.421148 -0.193244
6 -0.443746 -0.019479  1.192575
7 -0.963762  0.575936  1.699024
8 -0.244891 -0.348923 -0.198269
9  0.190444 -1.505409 -1.166708

[10 rows x 3 columns]
In [62]:

df[df.sum(axis=1) > 1]

Out[62]:
          a         b         c
2  0.131524  1.071453  1.575231
4  1.037159 -0.466863  0.535814
7 -0.963762  0.575936  1.699024

[3 rows x 3 columns]

在我上面的示例中,我使用了一个选择标准为1,但您可以将其替换为0,因此在您的情况下是df[df.sum(axis=1) > 0]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接