选择两列的记录在 pandas 中都有 0

Selecting records with both of the two columns have 0 in pandas

我有很多记录的数据框,比方说,从 'a' 到 'z'。

我需要找到 ['a'] = 0 和 ['z'] = 0 的记录数。

有人告诉我使用 crosstab,但我查看了文档,但我什么都不懂。

如何找到 ['a'] = 0 和 ['z'] = 0 的记录数?

您可以使用以下方法根据您的条件过滤行:

df.loc[(df['a'] == 0) & (df['z'] == 0)]

如果你想得到符合这种条件的行数,你可以使用:

df.loc[(df['a'] == 0) & (df['z'] == 0)].shape[0]

使用sum计算符合您条件的行数:

>>> df
    a  z
0   4  3
1   2  2
2   1  4
3   4  2
4   2  2
5   1  1
6   0  0  <- True
7   0  2
8   4  3
9   0  0  <- True
10  3  4
11  2  0
12  4  1
13  0  0  <- True
14  1  0
15  1  4
16  3  1
17  2  1
18  4  3
19  0  2

>>> sum((df['a'] == 0) & (df['z'] == 0))
3