如何在seaborn中绘制分类变量之间以及分类变量和数值变量之间的相关性?

2024-09-27 04:27:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个data frame并试图找到“sex”和其他列之间的相关性。 以下是数据的信息:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 48842 entries, 0 to 48841
Data columns (total 15 columns):
 #   Column          Non-Null Count  Dtype 
---  ------          --------------  ----- 
 0   age             48842 non-null  int64 
 1   workclass       48842 non-null  object
 2   fnlwgt          48842 non-null  int64 
 3   education       48842 non-null  object
 4   education-num   48842 non-null  int64 
 5   marital-status  48842 non-null  object
 6   occupation      48842 non-null  object
 7   relationship    48842 non-null  object
 8   race            48842 non-null  object
 9   sex             48842 non-null  object
 10  capital-gain    48842 non-null  int64 
 11  capital-loss    48842 non-null  int64 
 12  hours-per-week  48842 non-null  int64 
 13  native-country  48842 non-null  object
 14  class           48842 non-null  object
dtypes: int64(6), object(9)
memory usage: 5.6+ MB

我最初打算做的是展示:

  1. 通过一个绘图,仅分类列(包括以性别为目标)之间的相关性
  2. “性别”列和数字列之间通过绘图的相关性

我的代码如下:

import seaborn as sns

sns.heatmap(df)

但我得到了以下错误:

TypeError: '<=' not supported between instances of 'int' and 'str'

如果我这样做:

cat = [
    'sex', 'workclass', 'education', 'marital-status', 'occupation', 'relationship',
    'race', 'native-country', 'class'
]

sns.heatmap(cat)

我得到:

IndexError: Inconsistent shape between the condition and the input (got (9, 1) and (9,))

这可能是由于传递一维数组cat

我应该如何实现我的目标


Tags: columnsandobjectstatusframenullclasscat

热门问题