【发布时间】:2016-10-11 09:06:20
【问题描述】:
我有一个带有 ID 和日期的 MultiIndex,格式如下:
MultiIndex(levels=[[196003, 196005, 196007, 196009, 196012, 196103, 196105, 196107, 196109, 196112, 196203, 196205, 196207, 196209, 196212, 196303, 196305, 196307, 196309, 196312, 196403, 196405, 196407, 196409, 196412, 201705, 201707, 201709, 201712, 201803, 201805, 201807, 201809, 201812], ['1959-07-01', '1959-07-02', '1959-07-06', '1959-07-07', '1959-07-08', '1959-07-09', '1959-07-10', '1959-07-13', '1959-07-14', '1959-07-15', '1959-07-16', '1959-07-17', '1959-07-20', '1959-07-21', '1959-07-22', '1959-07-23', ...]])
ID 和日期都需要唯一指定行。
我要做的是提取第一级索引。
当我执行df.index[0] 时,我得到一个(196003, '1959-07-01')
形式的元组
我想要的是一系列 [196003, 196005, ...] 形式的键,用于级别 0。
我设法得到它:
list(df[~df['ID'].duplicated()]['ID'].sort_values().reset_index()['ID'])
但我认为这是一个混乱且缓慢的解决方案。
什么是熊猫方式?
【问题讨论】:
标签: python-3.x pandas dataframe multi-index levels