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



使用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() )

这是我得到的KEYERROR: 'date'不是data中的列

我希望输出像下面这个

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

如果您有另一种方法来编写代码来计算每个类别的订单数请让我知道

谢谢你,如果没有一个有用的答案,请不要结束我的问题

让我们从一些开始可再生的示例数据。它的统计数据与你的相似。

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个单位,每日总数与小计相匹配

最新更新