我有很好地绘制sns stripplot的代码:

f, ax = plt.subplots(figsize=(15,12))
sns.stripplot(data = cars, x='price', y='model', jitter=.5)
plt.show()


但是汽车模型太多,因此我只想可视化数据集中前n个最常出现的汽车模型。
是否有任何lambda计算或类似的方法可以应用于pricemodel而无需创建单独的数据框?

如果有更好的可视化库可以帮助您提出建议。

最佳答案

您可以使用value_counts()查找列中出现次数最多的值。在这里,我选择了最常见的2个模型:

most_occurring_values = cars['model'].value_counts().head(2).index


然后,您可以过滤原始数据框,仅选择包含频率最高的模型的行:

cars_subset = cars[cars['model'].isin(most_occurring_values)]


最后,使用该子集来绘制数据:

f, ax = plt.subplots(figsize=(15,12))
sns.stripplot(data = cars_subset, x='price', y='model', jitter=.5)
plt.show()

关于python - 仅带前n个类别的sns stripplot,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53705924/

10-12 23:54