我有一個像
df = pd.DataFrame({
'level0': [0,1,2],
'level1': ['a', 'b', 'b'],
'level2':['x', 'x', 'x'],
'data': [0.12, 0.34, 0.45]}
).set_index(['level0', 'level1', 'level2'])
| 0級 | 1級 | 2級 | 資料 |
|---|---|---|---|
| 0 | 一個 | X | 0.12 |
| 1 | b | X | 0.34 |
| 2 | b | X | 0.56 |
如果level0、level1和level2是索引級別,我想訪問資料(2, b)但保留前兩個級別的標簽。如果我這樣做df.loc[(2, 'b')],輸出是
| 2級 | 資料 |
|---|---|
| X | 0.56 |
但我想要的輸出是
| 0級 | 1級 | 2級 | 資料 |
|---|---|---|---|
| 2 | b | X | 0.56 |
使用時如何保持級別 0 和 1 loc?之后我可以重新添加這些級別,但這有點煩人,而且我經常這樣做,以至于想知道是否有一步解決方案。
uj5u.com熱心網友回復:
您可以使用MultiIndex.get_locs:
>>> df.loc[df.index.get_locs((2, 'b'))]
data
level0 level1 level2
2 b x 0.45
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/424752.html
標籤:Python python-3.x 熊猫 数据框 索引
上一篇:將包含價格的字串轉換為在pandas列中浮動的千位之后的空格
下一篇:通過回圈頁面僅第一次寫入標題
