python - Pandas 用 nan 计算 2 列的不同组合

标签 python pandas dataframe

我有一个类似于

的数据框
df = pd.DataFrame({'A': [1, np.nan,2,3, np.nan,4], 'B': [np.nan, 1,np.nan,2, 3, np.nan]})
df
     A    B
0  1.0  NaN
1  NaN  1.0
2  2.0  NaN
3  3.0  2.0
4  NaN  3.0
5  4.0  NaN

我如何计算 A 是 np.nan 但 B 不是 np.nan,A 不是 np.nan 的出现次数但是 B 是 np.nan,A 和 B 都不是 np.nan

我尝试了 df.groupby(['A', 'B']).count() 但它没有读取带有 np.nan 的行。

最佳答案

使用

df.isnull().groupby(['A','B']).size()
Out[541]: 
A      B    
False  False    1
       True     3
True   False    2
dtype: int64

关于python - Pandas 用 nan 计算 2 列的不同组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55448320/

相关文章:

python - 带参数的装饰器

python - 使用 python 3.x 计算与特定正则表达式模式匹配的行数

python - 动态语言中依赖注入(inject)的真实示例是什么?

python - 使用之前的日期从现有列创建新的 Pandas 列

python - 非零值的条件总和

python - 将索引上的数据框与 Pandas 合并

r - 在数据框中查找唯一的行组

python - 如何转义 configobj 值中的 % 符号?

python - 使用两个数据框进行 Pandas 矢量化

Python:通过以更 Pandas 特定的方式编写代码来简化代码