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

如何从MultiIndex结构的DataFrame中提取唯一索引值?

获取MultiIndex的唯一索引值实现方案

嘿,针对你的股票价格数据集(带name和date的MultiIndex),我整理了几个实用的Pandas实现方案,帮你轻松提取各类唯一索引值:

一、提取完整的唯一索引对

如果你需要获取(名称, 日期)这种组合的唯一索引值,可以直接调用MultiIndex的unique()方法:

# 获取所有唯一的(name, date)索引元组
unique_index_pairs = df.index.unique()

# 转换成列表格式方便查看或后续处理
unique_index_list = unique_index_pairs.tolist()

二、单独提取每个层级的唯一值

很多时候我们需要单独获取股票名称或日期的唯一值,针对MultiIndex的不同层级操作即可:

1. 获取股票名称(name)的唯一值

有两种常用方式,你可以根据需求选择:

# 方式1:通过层级名称获取当前数据中存在的唯一名称
unique_names = df.index.get_level_values('name').unique()

# 方式2:通过层级位置(name是第0层)获取该层级原始所有唯一值
unique_names = df.index.levels[0]

注意:df.index.levels会返回该层级原始定义的所有唯一值,即使某些值在当前数据中已被过滤;而get_level_values('name').unique()仅返回当前数据里实际存在的唯一名称。

2. 获取日期(date)的唯一值

同理,提取日期唯一值的方法如下:

# 方式1:通过层级名称获取当前数据中存在的唯一日期
unique_dates = df.index.get_level_values('date').unique()

# 方式2:通过层级位置(date是第1层)获取该层级原始所有唯一值
unique_dates = df.index.levels[1]

小技巧:将唯一索引转换成DataFrame

如果需要把唯一索引对转换成更易分析的表格格式,可以这样做:

import pandas as pd

# 将唯一索引元组转换成DataFrame
unique_index_df = pd.DataFrame(unique_index_pairs.tolist(), columns=['name', 'date'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:41:48