Python按关键字进行多索引

2024-06-28 12:23:58 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有一个像这样的多索引数据帧。你知道吗

test.index.names
FrozenList(['target', 'h', 'd', 'y', 'obsrv'])

test.index.values
('A', '15', '60', '0', 97),
('B', '15', '60', '0', 98),

我可以使用这样的元组索引与target=A,h=15,d=60,y=0,obrv=97相关联的数据帧

test.loc[('A', '15', '60', '0', 97)]

但我想像这样索引这个数据帧。你知道吗

test(target = 'A', h = 15)...

这样里面的秩序就无关紧要了。有可能吗?你知道吗


Tags: 数据testtargetindexnames秩序loc元组
2条回答

可以使用.xs()代替loc来获得索引完整的横截面。不完全是你要找的形式,但应该符合你的目的,我猜:

test.xs(('A', '15', '60', '0', 97), level=('target', 'h', 'd', 'y', 'obsrv'))

然后可以使用DataFrame with MultiIndex to dict中提供的答案转换为dict

如果你能提供一个数据集,我可以对你的问题给出更具体的答案。你知道吗

对于multiple index

test.loc[pd.IndexSlice['A', '15',:,:,:],:]

相关问题 更多 >