python - Pandas read_csv fillna

标签 python pandas data-science nan

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

如果我不使用 keep_default_na=False 读取 CSV 文件,Python 会用 NaN 填充空白,但我希望空白为空,以便我可以使用 df。 fillna(方法 = '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 的列中的问题 :(

enter image description here

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

最佳答案

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

By default the following values are interpreted as 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 应该工作。

关于python - Pandas read_csv fillna,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54755444/

相关文章:

python - 需要超过 0 个值才能解压

python - 如何在元组上使用 apply 属性

python - 使用 Pandas 在 Excel 中写入百分比

python - 我不能按列名提取数据?

python - 无法在 Windows 上运行 Pangolin pyexamples

Python函数将变量输入字符串

python - 如何在 Excel 中为文件夹中的每个 csv 文件创建新工作表

Python-如何重置列数据框名称pandas中的数字顺序?

python - Pandas:使用多个正则表达式比较两列中的行并将正确的行复制到自己的列中

sas - 如何使用 SAS 程序从 PDF 读取数据