为什么这样做?
a=pd.DataFrame()
a.loc[1,2]=0
>
2
1 0.0
而且,这不起作用?
a=pd.DataFrame()
a.loc[(1,2),2]=0
>
KeyError: '[1 2] not in index'
后者是我想做的。我将通过使用元组指定索引的loc选择来分配值,来自没有值,0行,0列的数据帧。
答案 0 :(得分:1)
我喜欢implicit memberwise initialiser因为感觉不像魔术。所有这些都是努力设置2级多指数。
带有空数组的set_index
i = np.array([])
a = pd.DataFrame().set_index([i, i])
a.loc[(1, 2), 2] = 0
a
2
1.0 2.0 0.0
稍微简洁
a = pd.DataFrame().set_index([np.array([])] * 2)
a.loc[(1, 2), 2] = 0
pd.concat
a = pd.concat([pd.DataFrame()] * 2, keys=[1, 2])
a.loc[(1, 2), 2] = 0
a
2
1 2 0.0