首页 > 解决方案 > 值错误:无法将字符串转换为浮点数:“男性”

问题描述

我的代码:

import numpy as np 
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

BMI = pd.read_csv('c://500_Person_Gender_Height_Weight_Index.csv')

from sklearn.model_selection import train_test_split 

X_train, X_test, y_train, y_test = train_test_split(BMI, BMI.gender_lbl, test_size=0.3,random_state=42) 


from sklearn.naive_bayes import GaussianNB

gnb = GaussianNB()

gnb.fit(X_train, y_train) --> shows error

y_pred = gnb.predict(X_test)
y_pred

我不确定在这里做什么。如果有人可以提供帮助,将不胜感激。谢谢你。

标签: python

解决方案


就像评论说的那样,您正在尝试将字符串或对象(在本例中为“Male”)转换为浮点数。

尝试输出你的变量和它们的类型,让你看到你试图在哪里转换浮点数。

如错误和文档中所述:

当操作或函数接收到具有正确类型但值不适当的参数时引发 [...] 链接

有关进一步的调试技巧,您可以参考此线程: 如何逐步执行 Python 代码以帮助调试问题?

否则,一些调试器(如 PyCharm)可以通过插入断点和获取活动变量的值来帮助您


推荐阅读