python - 值错误:无法将字符串转换为浮点数:“男性”
问题描述
我的代码:
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
我不确定在这里做什么。如果有人可以提供帮助,将不胜感激。谢谢你。
解决方案
就像评论说的那样,您正在尝试将字符串或对象(在本例中为“Male”)转换为浮点数。
尝试输出你的变量和它们的类型,让你看到你试图在哪里转换浮点数。
如错误和文档中所述:
当操作或函数接收到具有正确类型但值不适当的参数时引发 [...] 链接
有关进一步的调试技巧,您可以参考此线程: 如何逐步执行 Python 代码以帮助调试问题?
否则,一些调试器(如 PyCharm)可以通过插入断点和获取活动变量的值来帮助您