尝试组织大型数据集,然后使用 Spyder 确定平均天数和标准差 (Python 3.9)

Trying to organize a large dataset and then determine the mean days and standard deviation using Spyder (Python 3.9)

*编辑:将代码发布为数据框而非工作表 link。

我有一个包含约 650 万行和 6 列的大型数据集。这些行是与唯一商品关联的 BrandId(例如 01-00058),我需要使用的 3 列是:BrandId、InventoryDate 和 OnHand。

          BrandID  SalesPrice InventoryDate   Size  OnHand  PurchasePrice
0        01-00058        9.28    2018-06-30  750mL       6           6.77
1        01-00058        9.28    2018-07-01  750mL       6           6.77
2        01-00058        9.28    2018-07-02  750mL       6           6.77
3        01-00058        9.28    2018-07-03  750mL     102           6.77
4        01-00058        9.28    2018-07-04  750mL      96           6.77
          ...         ...           ...    ...     ...            ...
6531265  02-90631       12.74    2019-06-26  400mL      60           8.49
6531266  02-90631       12.74    2019-06-27  400mL      60           8.49
6531267  02-90631       12.74    2019-06-28  400mL      60           8.49
6531268  02-90631       12.74    2019-06-29  400mL      60           8.49
6531269  02-90631       12.74    2019-06-30  400mL      60           8.49

[6531270 rows x 6 columns]

我想确定每个特定 BrandId 手头有多少天没有库存。例如,BrandId 01-00058 有 27 个独特的日子,其中 OnHand = 0。我想总结所有独特 BrandId 的信息。

然后我想找出这些独特的 BrandId 与每个商品缺货日期的均值和标准差。

理想情况下,我希望在变量资源管理器中将此信息显示为 table,内容为:

BrandID     Sum OnHand = 0
01-00058    27
01-00061    39
01-00062    14
``'

IIUC,尝试 groupby:

>>> df[df["OnHand"].eq(0)].groupby("BrandID")["InventoryDate"].nunique()