Я строю график доли членов организации, которые живут в определенных городах. Представлено довольно много городов, поэтому я хотел просто построить топ-10.
У меня есть следующий код, который будет отображать топ-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