我有很好地绘制sns stripplot的代码:
f, ax = plt.subplots(figsize=(15,12))
sns.stripplot(data = cars, x='price', y='model', jitter=.5)
plt.show()
但是汽车模型太多,因此我只想可视化数据集中前n个最常出现的汽车模型。
是否有任何lambda计算或类似的方法可以应用于
price
或model
而无需创建单独的数据框?如果有更好的可视化库可以帮助您提出建议。
最佳答案
您可以使用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/