【发布时间】:2019-03-19 17:28:27
【问题描述】:
我想按我的 df "cod_id" 的变量分组,然后应用这个函数:
[dd.loc[dd['dt_op'].between(d, d + pd.Timedelta(days = 7)), 'quantity'].sum() \
for d in data_1['dt_op']]
从此df移动:
print(dd)
dt_op quantity cod_id
20/01/18 1 613
21/01/18 8 611
21/01/18 1 613
...
到这个:
print(final_dd)
n = 7
dt_op quantity product_code Final_Quantity
20/01/18 1 613 2
21/01/18 8 611 8
25/01/18 1 613 1
...
我试过了:
dd.groupby(['cod_id']).apply([dd.loc[dd['dt_op'].between(d, d + pd.Timedelta(days = 7)), 'quantity'].sum() \
for d in data_1['dt_op']])
但它引发了:
TypeError: unhashable type: 'list'
【问题讨论】:
标签: python pandas group-by apply pandas-groupby