尝试组织大型数据集,然后使用 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()
*编辑:将代码发布为数据框而非工作表 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()