使用python,根据产品类型出现的数量,根据日期提取每个类别的订单数量

tct7dpnv  于 2022-12-21  发布在  Python
关注(0)|答案(1)|浏览(198)

提取的订单数量为每个类别根据其'日期的产品类型出现的数量使用Python请如果你有任何其他方法让我知道
这些是我使用的库

#Importing libraries 
import pandas as pd 
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
sns.set()

这是我所有产品的数量

print(" The Total number for each product type: ")   

data.DrugType.value_counts()

输出为

productA                      8124
productB                      3047

将变量从日期和时间值转换为日期值

data['date'] = pd.to_datetime(data['Assessment_Date']).dt.date
data['date']=pd.to_datetime(data['date'])

这是我写的代码,根据它的订单日期来查找产品订单的数量

print(  data.groupby('DrugType')['date'].sum() )

这是我得到的关键错误:"date"不是数据中的列
我希望输出像下面这样

productA             1-11-2022         8124
productB             1-11-2022         3047

如果你有另一种方法来写代码来计算每个类别的订单数量,请让我知道
谢谢你,请不要结束我问题没有一个有用的答案

k2arahey

k2arahey1#

让我们从一些reproducible示例数据开始,它的统计数据与您的类似。

import datetime as dt
from random import randrange, seed
import pandas as pd

start = dt.datetime(2022, 1, 1)
seed(0)

data = pd.DataFrame([
        dict(
            DrugType="product" + ("A" if randrange(100) < 73 else "B"),
            date=start + dt.timedelta(days=randrange(365)),
            qty=1,
        )
        for _ in range(11_171)    
])

现在,还不完全清楚你要找什么。这里有两种可能性。

>>> data.groupby(["date", "DrugType"]).count()
                     qty
date       DrugType     
2022-01-01 productA   20
           productB   15
2022-01-02 productA   26
           productB   10
...                  ...
2022-12-30 productA   24
           productB    8
2022-12-31 productA   24
           productB    9

[730 rows x 1 columns]

这就解释了去年我们每天卖出两种药物,通常A类药物比B类药物多。
或者,也许您正在寻找更简单的东西,只关注一个系列。

>>> data.groupby(["date"]).qty.count()
date
2022-01-01    35
2022-01-02    36
2022-01-03    27
              ..
2022-12-29    31
2022-12-30    32
2022-12-31    33
Name: qty, Length: 365, dtype: int64

这表明我们通常每天销售30多台,每天的总数与上面列出的小计相匹配。

相关问题