绘制前10个比例,但出现错误

时间:2019-10-01 01:48:06

标签: python pandas seaborn data-analysis

我正在绘制居住在某些城市的组织成员的比例。这里有很多城市,所以我只想排在前十名。

我有以下代码将显示排名前10位的城市。

# get proportion taken by most common group for derivation
# of tick marks
n_points = member_clean.shape[0]
max_count = member_clean['City'].value_counts().iloc[:10]
max_prop = max_count / n_points

但是,当我尝试使用以下代码绘制数据时,出现错误“系列的真值不明确。请使用a.empty,a.bool(),a.item(),a。 any()或a.all()。”

# generate tick mark locations and names
tick_props = np.arange(0, max_prop, 0.05)
tick_names = ['{:0.2f}'.format(v) for v in tick_props]

# create the plot
base_color = sb.color_palette()[0]
sb.countplot(data = member_clean, x = 'City', color = base_color)
plt.yticks(tick_props * n_points, tick_names)
plt.ylabel('proportion')

对于导致错误的原因,我有些困惑。我可以使用下面的代码来绘制数据,但我仍然想了解该错误以及如何解决该错误。

plt.barh(max_prop.index, max_prop, color = 'g')

plt.xlabel('C', fontsize = 14)
plt.xticks(rotation=90)
plt.ylabel('Cties', fontsize = 6)
plt.title('Top 10 Cities', fontsize = 14)
plt.gca().invert_yaxis()
plt.show();

已编辑:这是max_prop的数据输出

OKLAHOMA CITY    0.152073
TULSA            0.105429
EDMOND           0.064838
BROKEN ARROW     0.055477
ARDMORE          0.044957
LAWTON           0.036786
NORMAN           0.031658
SHAWNEE          0.030897
ENID             0.026961
YUKON            0.021238

0 个答案:

没有答案