我有一个多索引数据框,如下所示:
number
location category created_on
Arab Republic of Egypt ACCESS 2018-06-25 00:00:00 4
ACCOUNT 2018-04-24 04:00:00 3
2018-05-31 04:00:00 3
2018-06-28 00:00:00 3
ACTIVE DIRECTORY 2018-04-01 00:00:00 3
... ... ... ...
United States of America WINDOWS 10 2018-09-25 04:00:00 8
2018-09-25 08:00:00 13
2018-09-26 08:00:00 12
2018-09-27 08:00:00 8
2018-09-27 12:00:00 9
我想将其隐藏到以日期列为索引的数据框,但又不丢失列号中的计数,新的数据框应如下所示:
created_on number category location
2018-06-25 00:00:00 4 ACCESS Arab Republic of Egypt
2018-04-24 04:00:00 3 ACCOUNT Arab Republic of Egypt
2018-05-31 04:00:00 3 ACCOUNT Arab Republic of Egypt
2018-06-28 00:00:00 3 ACCOUNT Arab Republic of Egypt
2018-04-01 00:00:00 3 ACTIVE DIRECTORY Arab Republic of Egypt
... ... ... ...
2018-09-25 04:00:00 8 WINDOWS 10 United States of America
2018-09-25 08:00:00 13 WINDOWS 10 United States of America
2018-09-26 08:00:00 12 WINDOWS 10 United States of America
2018-09-27 08:00:00 8 WINDOWS 10 United States of America
2018-09-27 12:00:00 9 WINDOWS 10 United States of America
我怎样才能做到这一点?
使用swaplevel
上的水平0
和2
再利用reset_index
的水平1
和2
:
df1 = df.swaplevel(0, 2).reset_index(level=[1, 2])
或先使用另一个想法,reset_index
然后set_index
在column上使用created_at
:
df1 = df.reset_index().set_index('created_on')
结果:
print(df1)
category location number
created_on
2018-06-25 00:00:00 ACCESS Arab Republic of Egypt 4
2018-04-24 04:00:00 ACCOUNT Arab Republic of Egypt 3
2018-05-31 04:00:00 ACCOUNT Arab Republic of Egypt 3
2018-06-28 00:00:00 ACCOUNT Arab Republic of Egypt 3
2018-04-01 00:00:00 ACTIVE DIRECTORY Arab Republic of Egypt 3
...
2018-09-25 04:00:00 WINDOWS 10 United States of America 8
2018-09-25 08:00:00 WINDOWS 10 United States of America 13
2018-09-26 08:00:00 WINDOWS 10 United States of America 12
2018-09-27 08:00:00 WINDOWS 10 United States of America 8
2018-09-27 12:00:00 WINDOWS 10 United States of America 9
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句