sto*_*r02 2 python dataframe pandas
有没有办法合并这两个语句
df.isnull().sum()并
(df == 0).sum()得到以下概述?
演示:
df = pd.DataFrame({'a':[1,0,0,1,3], 'b':[0,NaN,1,NaN,1], 'c':[0,0,0,0,NaN]})
df
a b c
0 1 0.0 0.0
1 0 NaN 0.0
2 0 1.0 0.0
3 1 NaN 0.0
4 3 1.0 NaN
Run Code Online (Sandbox Code Playgroud)
预期结果:
a 2
b 3
c 5
Run Code Online (Sandbox Code Playgroud)
可能很简单,但我找不到解决方案......谢谢你的帮助
你的意思是这样的:
In[27]:
(df==0).sum() + df.isnull().sum()
Out[27]:
a 2
b 3
c 5
dtype: int64
Run Code Online (Sandbox Code Playgroud)
编辑
感谢@coldpseed的建议,您还可以执行以下操作:
In[28]:
df[df!=0].isnull().sum()
Out[28]:
a 2
b 3
c 5
dtype: int64
Run Code Online (Sandbox Code Playgroud)
这更简洁,我一直更赞成清晰,但更短的代码有时会赢.
同 fillna
df.fillna(0).eq(0).sum()
Out[8]:
a 2
b 3
c 5
dtype: int64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31 次 |
| 最近记录: |