pandas:如何根据所有列的总和选择行?

时间:2014-05-21 10:29:42

标签: python pandas

如何根据pandas中列的总和选择行?让我们说我想选择列总和大于0的所有行。

1 个答案:

答案 0 :(得分:7)

使用sum并设置axis=1 param

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]