簡體   English   中英

從多索引數據框中獲取一個索引

[英]Get one index from multiindexed dataframe

如果我有一個多索引的數據框,如何僅在其中一個索引中獲取信息?

如果我的df是這樣的:

first  second
bar    one       0.469112
       two      -0.282863
baz    one      -1.509059
       two      -1.135632
foo    one       1.212112
       two      -0.173215
qux    one       0.119209
       two      -1.044236

我想中值的索引列表first 我習慣做這樣的事情:

df.index.tolist()

返回:

['bar','baz','foo','qux']

您可以使用pd.Index.get_level_values 這是一個演示:

df = pd.DataFrame([['A', 'B', 1], ['A', 'C', 2], ['X', 'Y', 3], ['X', 'Z', '4']],
                  columns=['idx1', 'idx2', 'value'])

df = df.set_index(['idx1', 'idx2'])

res = df.index.get_level_values(0).tolist()

['A', 'A', 'X', 'X']

來自jpp的數據

df.index.levels[0]
Out[412]: Index(['A', 'X'], dtype='object', name='idx1')

更新:

[x[0] for x in df.index.tolist()]
Out[417]: ['A', 'A', 'X', 'X']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM