潘达斯。Dataframe.Drop-ValueError: labels ['id'] 不包含在轴中[英] Pandas: Dataframe.Drop - ValueError: labels ['id'] not contained in axis

本文是小编为大家收集整理的关于潘达斯。Dataframe.Drop-ValueError: labels ['id'] 不包含在轴中的处理方法,想解了潘达斯。Dataframe.Drop-ValueError: labels ['id'] 不包含在轴中的问题怎么解决?潘达斯。Dataframe.Drop-ValueError: labels ['id'] 不包含在轴中问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

试图从 Pandas 中的 DataFrame 中删除一列.DataFrame 从文本文件创建.

import pandas as pd 
df = pd.read_csv('sample.txt')
df.drop(['a'], 1, inplace=True)

但是,这会产生以下错误:

ValueError: labels ['a'] not contained in axis      

这是 sample.txt 文件的副本:

a,b,c,d,e
1,2,3,4,5
2,3,4,5,6
3,4,5,6,7
4,5,6,7,8

提前致谢.

推荐答案

所以问题是您的"sample.txt"文件实际上并不包含您要删除的数据.

你的线路

df.drop(['id'], 1, inplace=True) 

正在尝试获取您的 DataFrame(其中包括您的示例文件中的数据),在第一行(轴 1)中找到值为"id"的列并进行就地替换(修改现有对象而不是创建一个缺少该列的新对象,这将返回 None 并仅修改现有对象.).

问题是您的示例数据不包含标题等于"id"的列.

在您当前的示例文件中,您只能放置在轴 1 中的值为"a"、"b"、"c"、"d"或"e"的位置.更正您的代码以删除其中一个值或获取具有正确标题的示例文件.

Pandas 的文档并不出色,但这里有一个很好的例子来说明如何在 Pandas 中进行列删除:http://chrisalbon.com/python/pandas_dropping_column_and_rows.html

** 以下是针对@saar 的回答评论而添加的

这是我的示例代码:示例.txt:

a,b,c,d,e
1,2,3,4,5
2,3,4,5,6
3,4,5,6,7
4,5,6,7,8

示例代码:

import pandas as pd

df = pd.read_csv('sample.txt')
print('Current DataFrame:')
print(df)
df.drop(['a'], 1, inplace=True)
print('\nModified DataFrame:')
print(df)

输出:

>>python panda_test.py
Current DataFrame:
   a  b  c  d  e
0  1  2  3  4  5
1  2  3  4  5  6
2  3  4  5  6  7
3  4  5  6  7  8

Modified DataFrame:
   b  c  d  e
0  2  3  4  5
1  3  4  5  6
2  4  5  6  7
3  5  6  7  8

本文地址:https://www.itbaoku.cn/post/1727902.html