python - TOP 10 数据框 + 条形图
问题描述
我想:
- 将 df 的 director 列中出现的所有 Director 存储在一个 director 系列中。
- 以水平条形图显示目录中出现次数最多的 10 位导演。
我需要先做一个 value.count 吗?在创建 plt.bar 之前设置前 10 名?
# divided the director name
df['director'].str.split(',', expand=True).stack().reset_index(drop=True)
解决方案
您可以创建一个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()
推荐阅读
- python - 训练 spacy 进行文本分类
- unity3d - 方向盘控制器 3D
- c++ - 如何防止 Windows 显示“调试错误!中止()已被调用”对话框?
- node.js - 如果我们将额外/不必要的键值对传递给 API 有效负载,API 验证的行为应该是什么?
- ibm-watson - IBM Watson Assistant 云功能操作错误
- c++ - 如何编写计算整数和的可变参数模板类的通用版本
- android - 使用 Kotlin 在 Cloud Firestore 中设置数据
- python - Python Selenium PhantomJS - 提取正在下载的文件的下载链接
- coq - 在 Coq 中是否有必要将当前目录添加到加载路径以访问那里的编译文件以进行导入或导出?
- ios - React Native FlatList 消耗所有触摸(未调用 ToucableWithoutFeedback onPress)