【发布时间】:2018-05-17 14:08:50
【问题描述】:
我有一个如下所示的熊猫数据框
Date SKU Balance
0 1/1/2017 X1 8
1 1/1/2017 X2 45
2 1/1/2017 X1 47
3 1/1/2017 X2 16
4 2/1/2017 X1 14
5 2/1/2017 X2 67
6 2/1/2017 X2 9
8 2/1/2017 X1 66
9 2/1/2017 X1 158
我的第一个目标是生成多个每天过滤的数据帧
我为此编写代码
df_1stjan = df.query("Date == \"1/1/2017\"")
我得到了以下结果
Date SKU Balance
0 1/1/2017 X1 8
1 1/1/2017 X2 45
2 1/1/2017 X1 47
3 1/1/2017 X2 16
我的第二个目标是按 SKU 分组,我编码了
df_1stjan_uSKU = df_1stjan.groupby(['SKU','Date'], \
as_index=False).agg({'Balance':'sum'})
我得到了以下结果
Date SKU Balance
0 1/1/2017 X1 55
1 1/1/2017 X2 61
目前我只能编写代码来一次只为一个日期生成 df
但我需要编写一个函数或循环来自动化 2017 年的所有日子。
注意 Date 列有字符串 dtype
【问题讨论】:
-
你能发布
df1应该是什么样子吗?该代码不适合我。 -
当然,我会编辑我的问题
-
我想我得到了您想要做的事情,但是我认为您的示例数据中的任何示例都不会被汇总,因为您在
SKU中没有任何重叠条目柱子。理想的输出在这里会很有帮助。 -
sorry chrisz,我只给出了几个 SKU,还有很多但我无法全部显示。实际上每天都有多个 SKU
-
inventory_1stOct = inventory.query("ActivityDate == \"2017-10-01\"")
标签: python pandas for-loop dataframe group-by