我试图将以下形式的大型DataFrame重构为MultiIndex:
date store_nbr item_nbr units snowfall preciptotal event
0 2012-01-01 1 1 0 0.0 0.0 0.0
1 2012-01-01 1 2 0 0.0 0.0 0.0
2 2012-01-01 1 3 0 0.0 0.0 0.0
3 2012-01-01 1 4 0 0.0 0.0 0.0
4 2012-01-01 1 5 0 0.0 0.0 0.0我希望按store_nbr (1-45)分组,在每个store_nbr组内按item_nbr (1-111)分组,然后对相应的索引对(例如,store_nbr=12,item_nbr=109)按时间顺序显示行,以便有序的行看起来如下:
store_nbr=12, item_nbr=109: date=2014-02-06, units=0, snowfall=...
date=2014-02-07, units=0, snowfall=...
date=2014-02-08, units=0, snowfall=...
... ...
store_nbr=12, item_nbr=110: date=2014-02-06, units=0, snowfall=...
date=2014-02-07, units=1, snowfall=...
date=2014-02-08, units=1, snowfall=...
...在这里,groupby和set_index的某些组合看起来可能很有用,但我在下面这一行之后就陷入了困境:
grouped = stores.set_index(['store_nbr', 'item_nbr'])这将产生以下MultiIndex:
date units snowfall preciptotal event
store_nbr item_nbr
1 1 2012-01-01 0 0.0 0.0 0.0
2 2012-01-01 0 0.0 0.0 0.0
3 2012-01-01 0 0.0 0.0 0.0
4 2012-01-01 0 0.0 0.0 0.0
5 2012-01-01 0 0.0 0.0 0.0从这里有人有什么建议吗?有什么简单的方法可以通过操纵groupby对象来做到这一点呢?
发布于 2019-02-04 08:19:31
您可以使用以下方法对行进行排序:
df.sort_values(by='date')https://stackoverflow.com/questions/53575037
复制相似问题