【问题标题】:What is python's equivalent of R's NA?python 相当于 R 的 NA 是什么?
【发布时间】:2015-04-23 15:04:25
【问题描述】:

python 相当于 R 的 NA 是什么?

更具体地说: R 有 NaN、NA、NULL、Inf 和 -Inf。 NA 通常在缺少数据时使用。 python的等价物是什么?

numpy 和 pandas 等库如何处理缺失值?

scikit-learn 如何处理缺失值?

python 2.7 和 python 3 有区别吗?

【问题讨论】:

  • 可能是None,如果我理解正确的话。
  • Numpy 使用masked arrays

标签: python numpy pandas scikit-learn data-scrubbing


【解决方案1】:

Scikit-learn 目前不处理缺失值。 对于大多数机器学习算法,尚不清楚如何处理缺失值,因此我们依赖于用户在将它们提供给算法之前对其进行处理。 Numpy 没有“缺失”值。 Pandas 使用 NaN,但在数值算法中可能会导致混淆。可以使用掩码数组,但我们在 scikit-learn 中还没有这样做。

【讨论】:

  • Pandas 中的 NaN 是 numpy 的 nan 值。
【解决方案2】:

nan in numpy 处理得很好,有很多功能:

>>> import numpy as np
>>> a = [1, np.nan, 2, 3]
>>> np.nanmean(a)
2.0
>>> np.nansum(a)
6.0
>>> np.isnan(a)
array([False,  True, False, False], dtype=bool)

【讨论】:

    【解决方案3】:

    pandas 看看这个。

    http://pandas.pydata.org/pandas-docs/dev/missing_data.html

    熊猫使用NaN。您可以使用isnull()not null() 测试空值,使用dropna() 等从数据框中删除它们。datetime 对象的等价物是NaT

    【讨论】:

    • 可能值得注意的是整数 pandas Series(或列)必须有值。没有办法表示整数系列中的缺失值;通常的替代方法是上转换为具有NaN 的浮点类型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 2011-06-25
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多