我想从Jupyter笔记本的数据框中画出前10名卖家或前5名类别

2024-09-27 04:21:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含很多信息的数据框,包括cols的“已售出物品”和“类别” 我如何才能最好地获得最畅销的商品(每个时间间隔(天/周/月))以及最畅销的类别(每个时间间隔(天/周/月)) 我当然想画出结果

谢谢你的帮助

对不起,我的第一篇文章不好,我没有包括我正在尝试的代码

我试图自己解决它,并提出了以下建议

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({'Category': ['Beverage', 'Beverage', 'Asian Cuisines', 'Asian Cuisines',
                                'International cuisines','International cuisines','International cuisines',
                               'International cuisines','Beverage', 'Beverage', 'Asian Cuisines', 'Asian Cuisines',
                                'International cuisines','International cuisines','International cuisines',
                               'International cuisines'], 
                   'Item': ['Can coke', 'Pitcher Ice Tea', 'Beef Kare Kare','Chicken Curry','Mahi Mahi & Chips',
                           'Baby Back Ribs','Chicken Cordon Blue','Chicken Cordon Blue',
                           'Can coke', 'Pitcher Ice Tea', 'Beef Kare Kare','Chicken Curry','Mahi Mahi & Chips',
                           'Baby Back Ribs','Chicken Cordon Blue','Chicken Cordon Blue'],
                  'Net sales':np.random.randint(100,500,(16)),
                      'Date':np.random.choice( pd.date_range('1/1/2021', periods=30,
                          freq='D'), 16, replace=False)})

# Grouping products by sales
prod_sales = pd.DataFrame(df.groupby('Item').sum()['Net sales'])

# Sorting the dataframe in descending order
prod_sales.sort_values(by=['Net sales'], inplace=True, ascending=False)


dfnew=df.groupby('Item').resample('W-MON', label='left',closed='left'
                                           , on='Date').sum().reset_index().sort_values(by='Date')

fig, ax = plt.subplots(figsize=(20,10))

for section, group in dfnew.groupby('Item'):
    if any(item in section for item in prod_sales[:10].index):
         group.plot(x='Date', y='Net sales', ax=ax, label=section)


Tags: datenetblueitempdsaleschickeninternational

热门问题