我正在寻找一个干净的方式重新排序索引在一个组。
示例代码:
import numpy as np
import pandas as pd
mydates = pd.date_range('1/1/2012', periods=1000, freq='D')
myts = pd.Series(np.random.randn(len(mydates)), index=mydates)
grouped = myts.groupby(lambda x: x.timetuple()[7])
mymin = grouped.min()
mymax = grouped.max()
以上给出了我想要的,在今年的朱利安日的总统计数据,但我想重新排序的组,所以最后一半(183天)被放置在前面的第一个一半。
对于普通的numpy数组:
myindex = np.arange(1,367)
myindex = np.concatenate((myindex[183:],myindex[:183]))
但我不能对groupby这样做,它会引发一个非实现错误。
注:这是一个来自AA>的交叉柱。我也一直在阅读Cop.Lang.Python,不幸的是人们倾向于忽略一些帖子,例如谷歌组。
提前谢谢你,
贝文
最佳答案
为什么不重新索引结果呢?
In [7]: mymin.reindex(myindex)
Out[7]:
184 -0.788140
185 -2.206314
186 0.284884
187 -2.197727
188 -0.714634
189 -1.082745
190 -0.789286
191 -1.489837
192 -1.278941
193 -0.795507
194 -0.661476
195 0.582994
196 -1.634310
197 0.104332
198 -0.602378
...
169 -1.150616
170 -0.315325
171 -2.233139
172 -1.081528
173 -1.316668
174 -0.963783
175 -0.215260
176 -2.723446
177 -0.493480
178 -0.706771
179 -2.082051
180 -1.066649
181 -1.455419
182 -0.332383
183 -1.277424