如何在熊猫数据框列中获取 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 观察的频率 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

过滤熊猫数据框列中的字符串/浮点数/整数值

如何在熊猫数据框中将单元格设置为 NaN

使用 pandas 重命名数据框列中的元素

如何迭代熊猫数据框列中的元素?

如何在熊猫数据框列中选择一系列值?

熊猫如何通过数据框列值获取行索引