上执行行选择标准
我在('dt', 'product_id')
上有一些销售数据索引,如下所示:
In [43]: sub.head()
Out[43]:
income
dt product_id
2015-01-15 10016 23
2015-01-15 10017 188
2015-01-15 10018 NaN
2015-01-16 10016 188
2015-01-17 10025 1000
# this goes on and on...
如何查看产品10016
和10025
在2015-01-15
和2015-01-16
之间的收益?
In [44]: sub.loc[idx[start:end,[10016,10018]]]
KeyError: 'None of [[10055, 10158]] are in the [columns]'
<标题> 原始数据import pandas as pd
product_order = pd.DataFrame.from_csv('order.csv')
odr = product_order.set_index(['dt','product_id'])
dt,product_id,subsidy
2015-03-03 00:39:08+08:00,10029,50.00
2015-03-09 00:47:00+08:00,10016,55.00
2015-03-13 01:00:12+08:00,10029,23.00
2015-03-15 01:03:40+08:00,10016,21.00
2015-03-16 02:18:45+08:00,10016,52.00
标题>假设gp
已经是您的groupby对象,您可以像下面这样切片:
In [146]:
idx = pd.IndexSlice
gp.loc[idx['2015-01-15':'2015-01-16'], idx[10016:10025]]
Out[146]:
dt product_id
2015-01-15 10016 23
10017 188
10018 NaN
2015-01-16 10016 188
Name: income, dtype: float64
所以你需要为每一层定义一个IndexSlice
你想在