我无法为我的生命解决这个问题。我正在尝试根据数据框的两列为数据框重新编制索引:
Index Donation AbsSiz Affil DonID Datetime_Obj
19 2000 25598000 Con ffed93a8-2c3d-770c-1e67-e76b2d7ec738 2018-07-31 17:03:35.791
20 360 4607640 Lib 62d87d76-478d-4c09-9ecb-03d32dfc7941 2018-07-31 17:03:35.791
21 60 767940 Con fc53a961-036c-4043-01aa-57ccfa839ee5 2018-07-31 17:03:35.791
22 70 895930 Lib d1c81281-8f0b-e991-d8ed-6031ac66af92 2018-07-31 17:03:35.791
23 27 345573 Con 135fa1b5-2304-c761-0df7-147132c35cd8 2018-07-31 17:03:35.791
24 8206 105028594 Con 7aef85bd-bc67-9905-8614-aac65e2ae21e 2018-07-31 17:03:35.791
25 32 409600 Lib 03f7c33a-920e-67db-78bd-640e8009c8a2 2018-07-31 17:03:35.791
26 28000 358400000 Con 0a2c264c-bc81-69f7-d8fe-05b521d79d9a 2018-07-31 17:03:35.791
27 230 2944000 Con 4e868220-7687-8acc-c3bd-f09624c4d15b 2018-07-31 17:03:35.791
28 3 38400 Con 5e57de8d-3f37-d943-af95-0834dcaf8efd 2018-07-31 17:03:35.791
我的目标是对此重新索引,以使datetime_obj在同一dt.minute下的所有行都组合在一起,而基于Affil进行分组的其他级别索引也都组合在一起。
我知道这可能很简单,但是我已经将头撞在砖墙上好几个小时了。
答案 0 :(得分:0)
“ re-index”是什么意思尚不清楚,但以实际价格为准,我将DataFrame索引设置为分钟和Affil
df['datetime_obj_min'] = df['datetime_ob'].dt.minute
df.set_index(['datetime_obj_min', 'Affil'], inplace=True, drop=True)
您提到要分组,但没有要执行的汇总。这是按分钟和Affil汇总捐款的示例:
df['datetime_obj_min'] = df['datetime_ob'].dt.minute
df.groupby(['datetime_obj_min', 'Affil'])['Donation'].sum()
您还提到要分组在一起:
df['datetime_obj_min'] = df['datetime_ob'].dt.minute
df.sort_values(['datetime_obj_min', 'Affil'], inplace=True)
希望这会有所帮助。