DataFrame
:
>>> f = pd.DataFrame.from_dict({"r0":{"c0":1,"c1":2},("r",1):{"c0":3,"c1":4}},orient="index")
c0 c1
r0 1 2
(r, 1) 3 4
我可以得到第一行:
>>> list(f.loc["r0"].items())
[('c0', 1), ('c1', 2)]
但不是第二行,因为
f.loc[("r",1)]
会提高 KeyError
。
我想我能做到
>>> list(f.loc[[("r",1)]].iloc[0].items())
[('c0', 3), ('c1', 4)]
但这实在是难以形容的丑陋。
什么是正确的方法?
我认为 MultiIndex 的格式不正确。 你可以试试这个吗
index = pd.MultiIndex.from_tuples([('r0',), ('r', 1)], names=['level_0', 'level_1'])
data = {'c0': [1, 3], 'c1': [2, 4]}
f = pd.DataFrame(data, index=index)