如何将Pandas DataFrame的列设为主索引并保留原索引为二级索引?
解决方案
你可以通过重置原索引并设置多级索引的方式实现需求,具体步骤如下:
- 先将原有的
timestamp索引转换为普通列:
df = df.reset_index()
- 设置多级索引,把
days_in_month设为主索引,timestamp设为二级索引:
df = df.set_index(['days_in_month', 'timestamp'])
执行后你的DataFrame结构会变成:
data day_of_month days_in_month timestamp 31 2022-01-03 09:00:00 12 3
之后你可以直接通过days_in_month的值索引数据,比如查询days_in_month=31的所有记录:
df.loc[31]
内容的提问来源于stack exchange,提问作者user2138149
相关产品推荐
相关产品推荐

