我尝试对数据进行逻辑回归,但出现此错误 ValueError:无法将字符串转换为浮点数:“ 28,37” 我的代码:
X_train, X_test, y_train, y_test = train_test_split(X, y,
stratify=y,
test_size=0.3)
logisticRegr = LogisticRegression()
logisticRegr.fit(X_train, y_train)
predictions = logisticRegr.predict(X_test)
请问如何解决??
答案 0 :(得分:2)
字符串中的分隔符错误。您应该使用.
而不是,
。
比较:
print(float('28,37'))
ValueError:无法将字符串转换为float:'28,37'
收件人:
print(float('28.37'))
28.37
答案 1 :(得分:1)
怎么样?
df.column1=df.column1.str.replace(',', '.', regex=False)
df.column1 = df.column1.astype(float)
我测试之后
column0 column1
0 row0 179319,0
1 row1 89659,5
2 row2 59773.0
3 row3 44829,75
4 row4 35863.8
5 row5 29886.5
6 row6 25617,0
7 row7 22414.875
8 row8 19924.33333
column0 column1
0 row0 179319.0
1 row1 89659.5
2 row2 59773.0
3 row3 44829.75
4 row4 35863.8
5 row5 29886.5
6 row6 25617.0
7 row7 22414.875
8 row8 19924.33333
答案 2 :(得分:0)
问题是字符串内的',',因为您无法将“ 28,37”之类的字符串转换为浮点型。因此该字符串应为“ 28.37”
print(float("28.37"))
28.37