【问题标题】:Cannot Fill NaN with zeros in a Pandas Dataframe无法在 Pandas 数据框中用零填充 NaN
【发布时间】:2014-03-15 02:54:54
【问题描述】:

我有以下问题: 我正在使用

读取缺少值的 csv 文件

pd.read_csv(f_name, sep=sep, header=hdr, parse_dates=True, index_col=date_col, quotechar=quote)

我得到的数据帧中有 'nan's(我期待 'NaN's 带有大写字母)。 现在,如果我尝试使用

将那些 nan 替换为 zeros
df.fillna(0)

我的 df 没有改变(我仍然看到 nan 在里面) 我的猜测是 fillna 不起作用,因为我有 nan (小写)而不是 NaN (大写)。我对么? 如果是,您知道为什么 pd.read.csv 返回带有小写 nan 的数据帧吗? 我正在使用 Python 2.7.6(Anaconda 包)

非常感谢您的帮助。

【问题讨论】:

  • 请发帖df.head()df.info()

标签: python pandas nan


【解决方案1】:

df.fillna(0) 返回一个新的数据帧;它不会改变df

所以改为使用:

df = df.fillna(0)           # assigns df to a new dataframe

【讨论】:

  • 感谢您的解释,帮助很大。显然应该更仔细地阅读文档。
  • 也可以使用 df.fillna(0, inplace = True)
猜你喜欢
  • 2019-03-21
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 2017-03-11
  • 2020-06-27
  • 2016-11-08
  • 2014-11-12
  • 2022-06-13
相关资源
最近更新 更多