选择两列的记录在 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
我有很多记录的数据框,比方说,从 '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