【发布时间】:2015-01-08 08:17:19
【问题描述】:
欢迎任何有关此问题更准确标题的帮助..
我有一个 pandas 数据框,其中包含客户级别的观察结果,记录日期以及客户在该日期消费的项目。看起来像这样。
df
store day items
a 1 4
a 1 3
a 2 1
a 3 5
a 4 2
a 5 9
b 1 1
b 2 3
此数据集中的每个观察结果都与一个独特的商店日组合有关,但每个商店日观察结果都以消耗的正数商品为条件列出,即每个商店日对的 df[items] > 0。
所以我没有,例如
b 3 0
b 4 0
b 5 0
等等
我需要按store 和day 对这个dataframe 进行分组,然后对每个store-day 组中的所有obs 运行一些操作。
但是,我希望这些行存在并且长度为 0(空集),我不确定执行此操作的最佳方法。这是一个非常简单的玩具数据集。真实的非常大。
我真的不想在使用 df.groupby(['store', 'day']) 之前添加观察结果,因为
我对每个商店日组运行 OTHER 计算,使用每个组的长度作为在特定商店和日期记录的客户数量的度量。因此,如果我将这些观察结果添加到b3 和b4,那么看起来有 2 位顾客在第 3 天和第 4 天访问了 b 商店——实际上没有(每个人在第 3 天和 b 商店什么都没买) 4)。
【问题讨论】:
标签: python pandas dataframe pandas-groupby