簡體   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