Seaborn 不绘制头部而是绘制整个数据框
Seaborn not plotting head but instead plots whole dataframe
我有一个数据帧,我 groupby()
计数然后 sort_values()
按计数。然后,我将此数据框的 head()
和 tail()
绘制在 seaborn barplot()
上。但是,当我尝试绘制头部时,它会显示整个原始数据框,而不仅仅是 head()
个产品。
most_popular_products= (items
.groupby("product_name")
.product_name.agg(["count"])
.reset_index()
.sort_values(by="count", ascending=False, ignore_index=True)
)
top_5_products = most_popular_products.head()
bottom_5_products = most_popular_products.tail()
然后我绘制:
plt.figure(figsize=(20,6))
sns.barplot(x=top_5_products["product_name"], y=top_5_products["count"])
我怎么只能绘制前5个?
因此,当您使用 head()
或获取任何数据片段时,pandas 列似乎仍在跟踪有多少类别。
因此,如果您选择前 5 个,然后列出列的类型,它将显示它仍然由 20 多个类别组成。
所以我不得不top_5_products.product_name = top_5_products.product_name.cat.remove_unused_categories()
这只为您提供了 5 个类别的列,然后您就可以绘图了!
我有一个数据帧,我 groupby()
计数然后 sort_values()
按计数。然后,我将此数据框的 head()
和 tail()
绘制在 seaborn barplot()
上。但是,当我尝试绘制头部时,它会显示整个原始数据框,而不仅仅是 head()
个产品。
most_popular_products= (items
.groupby("product_name")
.product_name.agg(["count"])
.reset_index()
.sort_values(by="count", ascending=False, ignore_index=True)
)
top_5_products = most_popular_products.head()
bottom_5_products = most_popular_products.tail()
然后我绘制:
plt.figure(figsize=(20,6))
sns.barplot(x=top_5_products["product_name"], y=top_5_products["count"])
我怎么只能绘制前5个?
因此,当您使用 head()
或获取任何数据片段时,pandas 列似乎仍在跟踪有多少类别。
因此,如果您选择前 5 个,然后列出列的类型,它将显示它仍然由 20 多个类别组成。
所以我不得不top_5_products.product_name = top_5_products.product_name.cat.remove_unused_categories()
这只为您提供了 5 个类别的列,然后您就可以绘图了!