有没有办法合并这两个陈述
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
预期结果:
a 2
b 3
c 5
可能很简单,但我找不到解决方案...... 谢谢你的帮助
答案 0 :(得分:5)
你的意思是:
In[27]:
(df==0).sum() + df.isnull().sum()
Out[27]:
a 2
b 3
c 5
dtype: int64
修改强>
感谢@coldpseed提供的建议,您还可以执行以下操作:
In[28]:
df[df!=0].isnull().sum()
Out[28]:
a 2
b 3
c 5
dtype: int64
这更简洁,我一直更赞成清晰,但有时会缩短代码。
答案 1 :(得分:5)
使用public class MyClass
{
static MyClass()
{
EventManager.RegisterClassHandler(typeof(MyClass), Button.ClickEvent, ClickHandler);
EventManager.RegisterClassHandler(typeof(Button), Button.ClickEvent, ClickHandler);
EventManager.RegisterClassHandler(typeof(MyClass), Mouse.MouseDownEvent, MouseDownHandler);
EventManager.RegisterClassHandler(typeof(Button), Mouse.MouseDownEvent, MouseDownHandler);
}
}
fillna
答案 2 :(得分:2)
另一种选择:
>>> ((df == 0) | df.isnull()).sum()
a 2
b 3
c 5
dtype: int64
>>>
此外:
>>> (df.eq(0) | df.isnull()).sum()
a 2
b 3
c 5
dtype: int64
>>>