我正在绘制居住在某些城市的组织成员的比例。这里有很多城市,所以我只想排在前十名。
我有以下代码将显示排名前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