我想:
我需要先做一个value.count吗?在创建plt.bar之前设置前10位?
# divided the director name
df['director'].str.split(',', expand=True).stack().reset_index(drop=True)发布于 2021-04-12 12:34:12
您可以创建一个countplot并使用order=参数来选择10个最高计数:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
# directors = df['director'].str.split(',', expand=True).stack().reset_index(drop=True)
np.random.seed(123456)
directors = pd.Series(np.random.choice(
['Allen', 'Almodóvar', 'Bergman', 'Buñuel', 'Chaplin', 'Eastwood', 'Fassbinder', 'Fellini', 'Hitchcock', 'Keaton',
'Kubrick', 'Polanski', 'Renoir', 'Scorsese', 'Spielberg', 'Welles', 'Wenders', 'Wilder'], 200), name='Director')
ax = sns.countplot(y=directors, order=directors.value_counts().iloc[:10].index, palette='rocket')
ax.tick_params(axis='y', length=0)
plt.tight_layout()
plt.show()

https://stackoverflow.com/questions/67055921
复制相似问题