【问题标题】:Using Python Panda's to fill new table with NaN values使用 Python Panda 用 NaN 值填充新表
【发布时间】:2017-04-14 21:59:21
【问题描述】:

我已从包含 NAME、ADDRESS、PHONE_NUMBER 列的 csv 文件导入数据。 有时,至少有 1 列具有该行的缺失值。例如

0 - Bill, Flat 2, 555123
1 - Katie, NaN, NaN
2 - Ruth, Flat 1, ?

我正在尝试获取 NaN 值来填充一个新表,如果已放入填充值,我可以执行此操作,例如: newDetails = details [details['PHONE_NUMBER']=="?"] 这给了我:

2 - Ruth, Flat 1, ?

我尝试使用fillna,但找不到合适的语法。

【问题讨论】:

  • 您能否发布所需的输出应该是什么,因为您没有解释应该填充哪些缺失值,您还问如何将? 替换为NaN

标签: python pandas


【解决方案1】:

Pandas fillna (pandas.DataFrame.fillna) 非常简单。假设您的数据框是df。以下是您可以执行的操作。

df.fillna('_missing_value_', inplace=True)

看起来您有不同的字段缺少值。可以试试这个:

df = df.where((pd.notnull(df)),'_missing_value_')

Edit1 在列中替换

如果您想替换 Flat 2 列,方法如下:

col_flat = df[['Flat 2']].fillna('?')
df['Flat 2'] = col_flat['Flat 2']

【讨论】:

  • 感谢您的回复。这有点工作,但它替换了每一列中的所有 NaN 值,而不是特定列中的值。另外,由于某种原因,我有更长的数字,例如 140191,现在显示为 1.40191e+06
猜你喜欢
  • 1970-01-01
  • 2017-04-28
  • 2015-02-14
  • 2019-12-26
  • 2021-12-14
  • 1970-01-01
  • 2020-06-10
  • 2017-10-25
  • 2018-03-19
相关资源
最近更新 更多