AttributeError:“DataFrame”对象没有属性“label”

Posted

技术标签:

【中文标题】AttributeError:“DataFrame”对象没有属性“label”【英文标题】:AttributeError: 'DataFrame' object has no attribute 'label' 【发布时间】:2018-10-10 12:20:10 【问题描述】:

我使用以下行创建了一个数据框:

df = pd.read_csv('/Users/cs213/Desktop/class1.csv', sep = ',', error_bad_lines=False)

如果这样打印列

print (df.columns) 

我明白了

索引(['Text', 'label'], dtype='object')

但是如果我想使用这里的列

df = df[df.Text.apply(lambda x: x.isnumeric())]
df = df[df.Text.apply(lambda x: x !="")]
df = df[df.label.apply(lambda x: x !="")]

我收到以下错误:

AttributeError: 'DataFrame' 对象没有属性 'label'

我已经尝试过这里的解决方案: Data-frame Object has no Attribute 它没有用。

CSV 示例 file

这是 df.head() 的输出

【问题讨论】:

您可以发布您的 csv 样本吗? 给出可重现的数据样本 @pissall 我添加了它 看起来如果列名为“标签”,df.labels 返回错误:AttributeError: 'DataFrame' object has no attribute 'labels'df['labels'] 工作得很好。 【参考方案1】:

编辑1:

CSV 的可重现样本:

df = pd.DataFrame('Text': [u'Well I am', u"Not my scene", u"Brutal"], 'label': ['y', 'n', 'n'])

你试图运行的函数:

>>> df = pd.DataFrame('Text': [u'Well I am', u"Not my scene", u"Brutal"], 'label': ['y', 'n', 'n'])
>>> df
           Text label
0     Well I am     y
1  Not my scene     n
2        Brutal     n
>>> df = df[df['Text'].apply(lambda x: x.isnumeric())]
>>> df
Empty DataFrame
Columns: [Text, label]
Index: []

当然不会有'label'属性

所以发生的情况是,所有x.isnumeric() 调用都返回False,因此没有任何数据保存到df。你试图用df = df[df['Text'].apply(lambda x: x.isnumeric())] 做的是“在df中,'Text'是数字的行是什么。” (现在返回False)。没有一行是数字的,所以你得到一个空的数据框。

【讨论】:

我还是报错,KeyError: 'Text', KeyError: 'Text', KeyError: 'label' 显示 df.head() 的输出 我已将其添加到帖子中 对不起,我不明白,怎么了?提前致谢 更新@user7631183

以上是关于AttributeError:“DataFrame”对象没有属性“label”的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError:“DataFrame”对象没有属性“map”

AttributeError:“DataFrame”对象没有属性“label”

AttributeError:模块“networkx”没有属性“from_pandas_dataframe”

Pandas 分析错误 AttributeError:“DataFrame”对象没有属性“profile_report”

Pandas 中的 Concat 2 列 - AttributeError:“DataFrame”对象没有属性“concat”

Unpickling 包含 pandas 数据框的字典会引发 AttributeError:“Dataframe”对象没有属性“_data”