【问题标题】:How to get the frequency of NaN obsevations in a pandas dataframe column [duplicate]如何在熊猫数据框列中获取 NaN 观察的频率 [重复]
【发布时间】: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]

这些似乎都不起作用。我总是尝试用谷歌搜索,看看这个问题之前是否已经回答过,但没有运气。

提前感谢您的帮助

乔什

【问题讨论】:

标签: python pandas nan


【解决方案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) 部分。
  • 感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2019-08-02
  • 1970-01-01
  • 1970-01-01
  • 2016-08-03
  • 1970-01-01
  • 2020-01-22
  • 2021-09-18
  • 2021-08-07
相关资源
最近更新 更多