You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Pandas DataFrame设置MultiIndex(多级索引)?

为DataFrame设置多级索引并实现数据检索

设置多级索引

你可以直接使用pandas的set_index()方法,传入要作为索引的列名列表(['year', 'date']),就能创建基于年份和日期的多级索引(MultiIndex):

import pandas as pd

# 假设你的DataFrame已经定义为df
df_multi = df.set_index(['year', 'date'])
# 如果想直接修改原DataFrame,加上inplace=True参数
# df.set_index(['year', 'date'], inplace=True)

设置完成后,你的DataFrame索引会变成两级:第一级是year,第二级是date,结构示例如下:

Time  observation1  observation2
year date                                             
2012 11-02   09:12:00    79.373668          224
     11-02   09:13:00   130.841316          477
     11-05   09:14:00    45.312814          835
...

检索特定数据

设置好多级索引后,用.loc就能轻松实现目标检索:

  1. 获取某一年的所有数据:
# 获取2012年的全部数据
df_2012 = df_multi.loc[2012]
  1. 获取特定年份+日期的数据:
# 获取2013年11月5日的全部数据
df_2013_1105 = df_multi.loc[(2013, '11-05')]

可选优化:排序索引

如果你的数据未按年份和日期排序,建议设置索引后执行排序,既能提升检索效率,也能让索引结构更清晰:

df_multi_sorted = df_multi.sort_index()

内容的提问来源于stack exchange,提问作者user398843

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 10:21:13