AttributeError:' DataFrame'对象没有属性'标签'

时间:2018-04-30 11:49:05

标签: python pandas

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

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

如果打印这样的列

print (df.columns) 

我得到了

  

索引(['文字','标签'],dtype ='对象')

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

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'对象没有属性'标签'

我已经在这里尝试了解决方案: Data-frame Object has no Attribute 它不起作用。

CSV示例 file

这是df.head()的输出 enter image description here

1 个答案:

答案 0 :(得分:3)

编辑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: []

当然没有属性'标签'

所以发生了什么,所有x.isnumeric()次调用都会返回False,因此所有数据都不会保存到df。您要对df = df[df['Text'].apply(lambda x: x.isnumeric())]尝试做的是"在df中,' Text'是数字。" (现在返回False)。这些行都不是数字,因此您获得一个空数据帧。