我使用以下行创建了一个数据框:
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
答案 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
)。这些行都不是数字,因此您获得一个空数据帧。