如果值都是数字,则无法将行添加到多索引数据框

时间:2014-07-24 14:34:09

标签: python python-2.7 pandas

这里肯定是错的。我可以更新现有的数字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

0 个答案:

没有答案