python - 用 NaN 替换 Inf 导致 AttributeError

标签 python pandas

我在 Pandas 中遇到了一个奇怪的问题。我想用值 np.NaN 替换任何具有 np.Inf 的条目。但是,当我这样做时:

df[df == np.Inf] = np.NaN

我得到:

AttributeError: 'float' object has no attribute 'view'

具体产生错误的语句是:

df == np.Inf

我想知道问题是不是我在混合类型的 Dataframe 上运行上面的代码(参见下面的 dtypes)。但如果是这样的话,我怎样才能自动进行这种替换呢?

In: df.dtypes
Out:
Year                            int64
Week                            int64
item_name                      object
item_uid                       object
Algorithm                      object
item Start                    float64
item 1/4                      float64
item 1/2                      float64
item 3/4                      float64
item Complete                 float64
Daily Nr Impressions          float64
date                   datetime64[ns]
Weekly rate                   float64
dtype: object

最佳答案

您可以使用 df.replace替换您的 np.inf 值。

In [9]: import pandas as pd

In [10]: df = pd.DataFrame([1, 2, np.inf])

In [11]: df.replace(np.inf, np.nan)
Out[11]:
    0
0   1
1   2
2 NaN

[3 rows x 1 columns]

关于python - 用 NaN 替换 Inf 导致 AttributeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23344498/

相关文章:

python - 如何将数据框中拼写错误的字符串值匹配并替换为第二个数据框中拼写正确的字符串值?

python - 在积极开发的应用程序之间共享 util 模块

javascript - 当用户在加载到新页面之前多次单击提交按钮时防止多次提交

python - 后续rolling_apply已弃用

python - pandas 两个日期之间的差异

python - 以运算符作为参数的函数

python - 让 django admin 在列表结果中显示不超过 100 个字符

python - 针对循环性能问题的 Pandas 重采样

python - 使用转换的 pandas 分组列表聚合失败并出现关键错误

python - Pandas DataFrame --> GroupBy --> 多索引过程