如何在熊猫数据框列中获取 NaN 观察的频率 [重复]
Posted
技术标签:
【中文标题】如何在熊猫数据框列中获取 NaN 观察的频率 [重复]【英文标题】:How to get the frequency of NaN obsevations in a pandas dataframe column [duplicate] 【发布时间】:2015-06-06 13:53:33 【问题描述】:我有一个包含 83 列和 4000 行的 pandas 数据框。我打算将数据用于逻辑回归,因此希望将我的列缩小到缺失数据最少的列。
为此,我正在考虑根据 NaN 观察的频率对它们进行排名。我尝试了一些类似的东西
econ_balance["BG.GSR.NFSV.GD.ZS"].describe()
econ_balance["BG.GSR.NFSV.GD.ZS"].value_counts
econ_balance["BG.GSR.NFSV.GD.ZS"]["NaN"]
econ_balance["BG.GSR.NFSV.GD.ZS"][NaN]
这些似乎都不起作用。我总是尝试用谷歌搜索,看看这个问题之前是否已经回答过,但没有运气。
提前感谢您的帮助
乔什
【问题讨论】:
df.isnull().sum() ***.com/questions/26266362/… 天哪,我突然获得了立即重复的关闭投票 【参考方案1】:如果您只想计算 NaN
的值:
In [2]:
df = pd.DataFrame('a':[0,1,np.NaN,np.NaN,np.NaN],'b':np.NaN, 'c':[np.NaN,1,2,3,np.NaN])
df
Out[2]:
a b c
0 0 NaN NaN
1 1 NaN 1
2 NaN NaN 2
3 NaN NaN 3
4 NaN NaN NaN
In [6]:
df.isnull().astype(int).sum()
Out[6]:
a 3
b 5
c 2
dtype: int64
编辑 @CTZhu 指出类型转换是不必要的:
In [7]:
df.isnull().sum()
Out[7]:
a 3
b 5
c 2
dtype: int64
【讨论】:
击败我,顺便说一句,我认为您可以跳过astype(int)
部分。
感谢您的帮助!以上是关于如何在熊猫数据框列中获取 NaN 观察的频率 [重复]的主要内容,如果未能解决你的问题,请参考以下文章