![](/img/trans.png)
[英]How can I use the column_name of a dataframe as a value on the rows?
[英]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.