首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pandas: Dataframe.Drop - ValueError:轴中不包含labels ['id']

Pandas: Dataframe.Drop - ValueError:轴中不包含labels ['id']
EN

Stack Overflow用户
提问于 2017-02-08 22:40:36
回答 2查看 52.8K关注 0票数 8

正在尝试从Pandas中的DataFrame中删除列。从文本文件创建的DataFrame

代码语言:javascript
运行
复制
import pandas as pd 
df = pd.read_csv('sample.txt')
df.drop(['a'], 1, inplace=True)

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

代码语言:javascript
运行
复制
ValueError: labels ['a'] not contained in axis      

以下是sample.txt文件的副本:

代码语言:javascript
运行
复制
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

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2017-02-08 23:24:33

所以问题在于你的"sample.txt“文件实际上并没有包含你想要删除的数据。

你的产品线

代码语言:javascript
运行
复制
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回复评论的回应

下面是我的示例代码: Sample.txt:

代码语言:javascript
运行
复制
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

示例代码:

代码语言:javascript
运行
复制
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)

输出:

代码语言:javascript
运行
复制
>>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
票数 13
EN

Stack Overflow用户

发布于 2017-08-06 15:37:33

代码语言:javascript
运行
复制
bad= pd.read_csv('bad_modified.csv')
A=bad.sample(n=10)
B=bad.drop(A.index,axis=0)

这是一个部分丢弃数据帧的示例。以防你需要它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42116091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档