ValueError:找不到网格列的变量

问题描述 投票:0回答:1

你好,出了点问题

数据来源

代码是:

%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv('train.csv')
df.head()
sns.pairplot(data = df.loc[:,['Gender','Age']],  hue = 'City_Category');

产生:

----> 1 sns.pairplot(data = df.loc[:,['Gender','Age']],  hue = 'City_Category');
---> 46         return f(**kwargs)
-> 2096     grid = PairGrid(data, vars=vars, x_vars=x_vars, y_vars=y_vars, hue=hue,
---> 46         return f(**kwargs)
-> 1233             raise ValueError("No variables found for grid columns.")
ValueError: No variables found for grid columns.

出了什么问题?问候,阿塔帕卢

python seaborn
1个回答
0
投票

错误指出

ValueError: No variables found
,因为您提供的数据 (
df.loc[:,['Gender','Age']]
) 没有任何数值变量。 Seabornpairplot 用于数字特征。在这里,年龄和性别都表示为分类:

  • 性别有M和F类别。
  • 年龄分为年龄组:0-17、18-25等

查看分类特征之间关系的一种方法是使用条形图来表示每个类别的频率。

所以你可以这样做:

f, axes = plt.subplots(1, 2)
f.set_figwidth(15)
sns.countplot(df, x="Gender", hue="City_Category", ax=axes[0])
sns.countplot(df, x="Age", hue="City_Category", ax=axes[1])

得到这个结果 enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.