【问题标题】:Pandas read_csv fillna熊猫 read_csv 填充
【发布时间】:2019-07-12 07:39:32
【问题描述】:

我有一些从 CSV 文件中读取的数据,并且一个数据框列记录在不同的时间戳间隔(时间序列数据)上,我无法让 df.fillna(method = 'ffill').fillna(method = 'bfill') 工作。

如果我没有使用keep_default_na=False 读取 CSV 文件,Python 会用 NaN 填充空白,但我希望空白为空白,以便我可以使用 df.fillna(method = 'ffill')

import pandas as pd
import numpy as np

#read CSV file
df_raw = pd.read_csv('C:\\desktop\\combinedSP.csv', index_col='Date', parse_dates=True, keep_default_na=False)

df_raw.head()

df_raw2 = df_raw.fillna(method = 'ffill').fillna(method = 'bfill')

df_raw2.head()

似乎无论我尝试什么,我都没有解决标有OAT 的列上的问题:(

非常感谢任何提示,我已将数据 CSV 文件 here 加载到我的 GitHub 帐户中。

【问题讨论】:

    标签: python pandas data-science nan


    【解决方案1】:

    当您执行 keep_default_na=False 时,这意味着 read_csv 通常会读取并解析为 NaN 的内容将不再:

    默认情况下,以下值被解释为 NaN:‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’

    在这种情况下,它不会将空字符串 '' 解析为 NaN,而是将它们保留为空字符串。

    放下那个 kwarg,fillnas 应该可以工作。

    【讨论】:

      猜你喜欢
      • 2018-01-27
      • 2016-03-30
      • 2017-08-02
      • 1970-01-01
      • 2017-08-04
      • 2012-11-21
      • 2018-07-19
      • 2019-12-31
      • 2021-03-18
      相关资源
      最近更新 更多