将 csv 读入 pandas 数据帧但避免 NaN 行

Posted

技术标签:

【中文标题】将 csv 读入 pandas 数据帧但避免 NaN 行【英文标题】:Read csv into pandas dataframe but avoid NaN rows 【发布时间】:2021-12-27 14:32:45 【问题描述】:

我有一个包含 73 行数据和 16 列的 csv 文件,我想读取它并将其传递给 pandas 数据框,但是当我这样做时

data_dataframe = pd.read_csv(csv_file, sep = ',')

我得到 3152 行和 22 列,其中包含 73 行和 16 列数据,其余的只是纯 NaN 值。如何告诉 pandas 读取有效的行和列数据并避免所有这些额外的 NaN 数据?

【问题讨论】:

【参考方案1】:

它有一个简单的功能:

给定一个数据框df,使用下面的df. dropna()函数。

【讨论】:

【参考方案2】:

首先,对整个数据进行可视化

import seaborn as sn
sn.heatmap(data_dataframe.isna())

然后如果你想删除有“nan”使用的行

data_dataframe.dropna()

如果你想删除连续行使用(默认axis = 0所以不需要指定它)

data_dataframe.drop(index = data_dataframe.index[1:3], inplace = True)

如果你想删除任何特定的行,请使用

data_dataframe.drop(index = [1,3,5], inplace = True)

【讨论】:

以上是关于将 csv 读入 pandas 数据帧但避免 NaN 行的主要内容,如果未能解决你的问题,请参考以下文章

使用 Pandas 将 CSV 读入具有不同行长的数据帧

以内存有效的方式将大型 csv 读入稀疏的 pandas 数据帧

使用 pandas 将 csv 文件中的数据读入时间序列

防止 pandas 将 None 读为 Nan

如何将带有文本信息的 1.3 GB csv 文件读入 Python 的 pandas 对象?

将当前工作目录中的所有 CSV 文件读入具有正确文件名的 pandas