这是我的代码,
avg_data = dataset.groupby('Gender').mean()
print(avg_data)
输出:
Height Weight Index
Gender
Female 170.227451 105.698039 3.709804
Male 169.648980 106.314286 3.787755
我想使用countplot绘制这些数据。
sns.countplot(x='Gender',hue='Height',data=avg_data)
错误!
ValueError Traceback (most recent call
last)
<ipython-input-54-59e9d525d88d> in <module>
----> 1 sns.countplot(x='Gender',hue='Height',data=avg_data)
/usr/local/lib/python3.6/dist-packages/seaborn/categorical.py in
countplot(x, y, hue, data, order, hue_order, orient, color, palette,
saturation, dodge, ax, **kwargs)
3551 estimator, ci, n_boot, units,
3552 orient, color, palette, saturation,
-> 3553 errcolor, errwidth, capsize, dodge)
3554
3555 plotter.value_label = "count"
/usr/local/lib/python3.6/dist-packages/seaborn/categorical.py in
__init__(self, x, y, hue, data, order, hue_order, estimator, ci,
n_boot, units, orient, color, palette, saturation, errcolor, errwidth,
capsize, dodge)
1605 """Initialize the plotter."""
1606 self.establish_variables(x, y, hue, data, orient,
-> 1607 order, hue_order, units)
1608 self.establish_colors(color, palette, saturation)
1609 self.estimate_statistic(estimator, ci, n_boot)
/usr/local/lib/python3.6/dist-packages/seaborn/categorical.py in
establish_variables(self, x, y, hue, data, orient, order, hue_order,
units)
153 if isinstance(input, string_types):
154 err = "Could not interpret input
'{}'".format(input)
--> 155 raise ValueError(err)
156
157 # Figure out the plotting orientation
ValueError: Could not interpret input 'Gender'
它检测到没有“性别”列。该如何解决?
答案 0 :(得分:1)
现在,Gender
是所得数据帧的索引。
只需对此命令执行reset_index()
:
avg_data = dataset.groupby('Gender').mean().reset_index()
OR
avg_data = dataset.groupby('Gender', as_index=False).mean()
这将创建Gender
作为您可以在其上绘制数据框的列。