这里肯定是错的。我可以更新现有的数字MultiIndex
(例如df.loc[(1,1), :]
),但我无法使用不存在的数字MultiIndex
添加新行。但是,我可以添加一个新行,其索引至少包含一个字符串!这对我来说没什么意义。任何想法为什么会这样?
df = pd.DataFrame(columns=list('abc'), index=[0])
df.ix[0] = 1
df = df.set_index(list('ab'))
df
Out[106]:
c
a b
1 1 1
#WORKS
df.loc[(1,1), :] = 6
df
Out[107]:
c
a b
1 1 6
#FAILS:
df.loc[(1,2), :] = 6
df
Out[108]:
c
a b
1 1 6
#HOWEVER, THIS WORKS! (wth!?)
df.loc[('a','b'), :] = 888
df
Out[109]:
c
a b
1 1 6
a b 888