假设我们有一个多索引数据帧,所说的数据帧看起来像这样:
0
source date row
Alpha 01-01 0 0.183436
1 -0.210341
Beta 02-01 0 -0.950784
1 0.259809
我该如何按照上面显示的顺序将唯一日期作为列表?即['01-01','02-01']
我知道我可以用df.loc['Alpha'].index[0][0]
访问个人约会。这感觉不太像蟒蛇。我希望我能做一些类似df.loc['Alpha'].index['date']
的事情,但这产生了IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
。这让我想知道:为什么一开始就麻烦命名索引呢?我是否错误地使用了MultiIndex DataFrame?
源代码以备有人尝试:df = pd.DataFrame(np.random.randn(4), index=pd.MultiIndex.from_tuples([('Alpha', '01-01', 0), ('Alpha', '01-01', 1), ('Beta', '02-01', 0), ('Beta', '02-01', 1)], names=['source', 'date', 'row']))
使用.index.get_level_values()
df.index.get_level_values("date").unique()
#or
df.index.get_level_values(1).unique()
Index(['01-01', '02-01'], dtype='object', name='date')