簡體   English   中英

ValueError:無法將字符串轉換為浮點數:“否”

[英]ValueError: could not convert string to float: 'no'

在對一些銀行數據實施邏輯回歸時,我遇到了一個錯誤ValueError: could not convert string to float: 'no' 這是我到目前為止嘗試過的代碼。

bank_full=pd.read_csv("/home/bilal/Desktop/linkedinlearning/recommendation-system-python/bank/bank-full.csv")
bank_full.head()

X=bank_full.iloc[:,:37].values 
y=bank_full.iloc[:,:18].values
Logreg=LogisticRegression()
Logreg.fit(X,y) #ERROR HERE.

在此處輸入圖像描述

聽起來您的數據中有一個值,它應該是一個數字,但實際上是一個名為“no”的字符串。 在將數據從字符串轉換為浮點數之前,也許可以快速檢查一下數據。

此錯誤意味着您的數據中有一些行不包含有效的浮點數據,特別是包含字符串no的行。

我建議使用for循環遍歷您的數據以檢查哪些行是導致錯誤的行,如下所示:

for i in data:
    try:
        i = float(i)
        print(i)
    except:
        print("Invalid data.")

如果您使用銀行營銷數據集,則 target(y) 值被編碼為“是”和“否”。 你可以這樣做:

bank.loc[bank.y == "yes", 'subscribe'] = 1
bank.loc[bank.y == "no", 'subscribe'] = 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM