Python 在Seaborn中使用其他两个分类变量作为行和列打印分类变量

Python 在Seaborn中使用其他两个分类变量作为行和列打印分类变量,python,seaborn,Python,Seaborn,我试图用行作为性别,列作为自营职业者来绘制贷款状态 g=sns.FacetGrid(train,row='Gender',col='Self_Employed',size=2.2,aspect=1.6) g.map(plt.hist,'Loan_Status') g.add_legend() plt.show() 错误是- TypeError:无法连接“str”和“float”对象您遇到的问题是由于Loan\u Status至少包含一个字符串 请参见下面的示例 train = pd.DataF

我试图用行作为性别,列作为自营职业者来绘制贷款状态

g=sns.FacetGrid(train,row='Gender',col='Self_Employed',size=2.2,aspect=1.6)
g.map(plt.hist,'Loan_Status')
g.add_legend()
plt.show()
错误是-
TypeError:无法连接“str”和“float”对象

您遇到的问题是由于
Loan\u Status
至少包含一个字符串

请参见下面的示例

train = pd.DataFrame({'Gender':['Male','Female','Male','Female']*3,
                      'Self_Employed':['Yes','Yes','No']*4,'Somevalue':[1,2,3,4]*3, 'String':['yes','No','No']*4})

g=sns.FacetGrid(train,row='Gender',col='Self_Employed',size=2.2,aspect=1.6)
g.map(plt.hist,'Somevalue')
g.add_legend()
plt.show()
结果显示在该图像中

然而,当我们尝试对仅由字符串组成的
字符串执行相同操作时

g=sns.FacetGrid(train,row='Gender',col='Self_Employed',size=2.2,aspect=1.6)
g.map(plt.hist,'String')
g.add_legend()
plt.show()
我的错误与你的相同

TypeError: unorderable types: str() < float()
TypeError:无序类型:str()

要解决您的问题,您必须检查您的
Loan\u Status
列,并将字符串(我认为是标签)编码为数字。你可以看一看SKI,学会为你做这件事。或者自己编写一些代码来完成这项工作。

谢谢。我后来也这样做了,将Y改为1,N改为0。因此,问题解决了。如果这是你问题的解决方案,请接受答案。所以很明显,这个问题有一个解决方案。是的,这是解决方案,因为我尝试使用不同的列绘制并得到了结果。唯一的问题是它是一个字符串。然后我会说要么接受这个答案,要么发布你的解决方案并接受这个答案。