假设我想使用多重索引构建一个pandas框架.
我开始定义数据帧的预期列:
df = pd.DataFrame(columns=["val",])
然后,我构建一些条目及其索引:
for j in range(1,5):
tuples = [(str(j), i) for i in range(10)]
vals = [0,1,2,3,j,j,4,4,1,1]
在for循环的每次迭代中,我希望使用新值更新数据帧.方法_append
似乎不支持索引规范,我读到.loc
方法要高效得多.
所以我试着做一些类似的事情:
for i2, el in enumerate(tuples):
df.loc[el] = vals[i2] #el is a tuple
但这并没有像我预期的那样奏效: 如果我try 执行具有单个多索引和单个值的命令,如下所示:
df.loc[('1', 3)] = 4
我得到一个数据帧,看起来是这样的:
val 3
1 NaN 4.0
而我的预期是这样的:
val
1 3 4.0
如何在Pandas 数据帧中指定多索引的值?