繁体   English   中英

Pandas 数据框不允许我删除 python 中的第一个空列?

[英]Pandas data frame not allowing me to drop first empty column in python?

我从 csv 读取了一些数据,并且有大量不需要的备用列和行。 我已经设法摆脱了其中的大多数,但第一列显示为 NaN,尽管多次尝试也不会下降。 这意味着我不能将第 0 行中的标题提升为标题。 我尝试了以下方法:

df = pd.read_csv(("List of schools.csv"))

df = df.iloc[3:]

df.dropna(how='all', axis=1, inplace =True)

df.head()

但我仍然得到这个回报:

在此处输入图像描述

请问有什么帮助吗? 我是新手

那些不是列,那些是索引。 您可以通过执行将它们转换为列

df = df.reset_index()

您可以改进您的 read_csv() 操作。

Avloss 可以告诉您的“列”是索引,因为它们是粗体的。 查看您的 output,有两点需要注意。

  1. “列”粗体暗示 pandas 将它们作为 DataFrame 索引的一部分而不是作为值读取
  2. 顶部的水平线上方没有任何信息,表明当前没有列名。 包含列名的 csv 文件的顶行正在作为值读入。

要解决您的列删除问题,您应该首先通过更加明确来改进您的 read_csv() 操作。 您当前的代码是将列标题放在数据中,并将一些数据放在索引中。 由于您的代码中有操作df = df.iloc[3:] ,我假设您的 csv 文件中的数据直到第 4 行才开始。 尝试这个:

header_row = 3 #or 4 - I am bad at zero-indexing
df = pd.read_csv('List of schools.csv', header=header_row, index_col=False)
df.dropna(how='all', axis=1, inplace =True)

此代码应将列名作为列名读取,而不是对任何列进行索引,从而在删除 NA 值时为您提供更清晰的 DataFrame 工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM