我的DataFrame索引是一个元组,我想插入一行。
我认为下面的代码可以工作:
df.loc [('first','second')] =(1、2、3)
但是它并没有达到我的预期,而是在数据帧中添加了一个等值线“ first”和一个列“ second”。
答案 0 :(得分:0)
首先通过MultiIndex.from_tuples
将index
转换为MultiIndex
,然后还为选择的列添加列表:
df = pd.DataFrame({
'a':[1,3,5],
'b':[5,4,5],
'c':[10,11,12],
}, index= [('a','b'),('a','c'),('a','d')])
print (df)
a b c
(a, b) 1 5 10
(a, c) 3 4 11
(a, d) 5 5 12
df.index = pd.MultiIndex.from_tuples(df.index)
df.loc[('first', 'second'), ['a','b','c']] = (1,2,3)
print (df)
a b c
a b 1.0 5.0 10.0
c 3.0 4.0 11.0
d 5.0 5.0 12.0
first second 1.0 2.0 3.0