删除熊猫数据框中的未命名列[重复]

Posted

技术标签:

【中文标题】删除熊猫数据框中的未命名列[重复]【英文标题】:Remove Unnamed columns in pandas dataframe [duplicate] 【发布时间】:2017-10-14 11:34:40 【问题描述】:

我有一个来自 A-G 列的数据文件,如下所示,但是当我使用 pd.read_csv('data.csv') 读取它时,它会在末尾无缘无故地打印一个额外的 unnamed 列。

colA    ColB    colC    colD    colE    colF    colG    Unnamed: 7
44      45      26      26      40      26      46        NaN
47      16      38      47      48      22      37        NaN
19      28      36      18      40      18      46        NaN
50      14      12      33      12      44      23        NaN
39      47      16      42      33      48      38        NaN

我已经多次查看我的数据文件,但我在任何其他列中都没有额外的数据。阅读时我应该如何删除这个额外的列?谢谢

【问题讨论】:

你的第一列可能是索引col看到的相关:***.com/questions/36519086/… 我也遇到了同样的问题。我检查了我的数据文件.. 发现在标题行(第 0 行)的末尾有一个额外的分隔符。 【参考方案1】:
df = df.loc[:, ~df.columns.str.contains('^Unnamed')]

In [162]: df
Out[162]:
   colA  ColB  colC  colD  colE  colF  colG
0    44    45    26    26    40    26    46
1    47    16    38    47    48    22    37
2    19    28    36    18    40    18    46
3    50    14    12    33    12    44    23
4    39    47    16    42    33    48    38

如果 CSV 文件中的第一列有索引值,那么您可以这样做:

df = pd.read_csv('data.csv', index_col=0)

【讨论】:

【参考方案2】:

首先,找到“未命名”的列,然后删除这些列。注意:您也应该将inplace = True 添加到.drop 参数中。

df.drop(df.columns[df.columns.str.contains('unnamed',case = False)],axis = 1, inplace = True)

【讨论】:

【参考方案3】:

pandas.DataFrame.dropna 函数删除missing values(例如NaNNaT)。

例如,以下代码将删除数据框中的所有列,其中该列的所有元素都丢失了。

df.dropna(how='all', axis='columns')

【讨论】:

点评来源: 欢迎来到 Stack Overflow!尝试对您的解决方案如何工作提供一个很好的描述。请参阅:How do I write a good answer?。谢谢【参考方案4】:

批准的解决方案在我的情况下不起作用,所以我的解决方案如下:

    ''' The column name in the example case is "Unnamed: 7"
 but it works with any other name ("Unnamed: 0" for example). '''

        df.rename("Unnamed: 7":"a", axis="columns", inplace=True)

        # Then, drop the column as usual.

        df.drop(["a"], axis=1, inplace=True)

希望对他人有所帮助。

【讨论】:

以上是关于删除熊猫数据框中的未命名列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

重命名 bigquery 标准 SQL 中的未命名列

我正在尝试使用熊猫删除重复的连续元素并保留数据框中的最后一个值

在熊猫时间序列数据框中删除重复项

从熊猫数据框中删除重复行:不区分大小写的比较

删除数据框熊猫python中的重复和最相似

熊猫数据框中的逻辑索引[重复]