![](/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.