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”