繁体   English   中英

如何解决'DataFrame' object 没有属性'column_name'?

[英]How do I solve 'DataFrame' object has no attribute 'column_name'?

我正在尝试 map 在我的 dataframe 中从 [Yes, No] 到 [1,0] 列,而无需创建多个可变虚拟列。 我确实使用过:

df['A'] = df.A.map({'Yes':1, 'No': 0})

其中 df 是 dataframe 和 A 是 dataframe 中的列。 它有效,但是我有几列我想 map,所以我创建了一个 function。

def mapping(df, column_name):
 mapped =  df.column_name.map({'Yes':1, 'No':1})
 df = df.replace(column_name, mapped)
 return df

jupyter notebook里没有异议,就跑了。 但是当我调用 function 并插入我的值时

mapping(df, B)

我收到以下错误:

'AttributeError: 'DataFrame' object has no attribute 'column_name''

请问我该如何解决?

导致错误的语句是;

mapped =  df.column_name.map({'Yes':1, 'No':1})

在 pandas 中,此行尝试访问名为“column_name”的列。 这意味着,这不会获取存储在变量“column_name”中的字符串,而是将“column_name”作为字符串并尝试查找名为“column_name”的属性。

相反,您可以使用该语句;

mapped =  df[column_name].map({'Yes':1, 'No':1})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM