Python 解压DataFrame多索引函数外部的列表

Python 解压DataFrame多索引函数外部的列表,python,pandas,dataframe,multi-index,Python,Pandas,Dataframe,Multi Index,我想将多索引列添加到现有数据帧df。例如: d = {('a','b'):[1,2,3], ('c', 'd'): [4,5,6]} df = pd.DataFrame(d) 生成的数据帧是: a c b d 0 1 4 1 2 5 2 3 6 现在,我想向dataframe添加一个新列。正确的方法是使用df['e','f']=[7,8,9]。但是,我想使用listnew_键作为键。通常我可以使用星号*,但显然它不能在函数之外使用。因此,我得到以下错误

我想将多索引列添加到现有数据帧
df
。例如:

d = {('a','b'):[1,2,3], ('c', 'd'): [4,5,6]}
df = pd.DataFrame(d)
生成的数据帧是:

   a  c 
   b  d 
0  1  4 
1  2  5 
2  3  6 
现在,我想向dataframe添加一个新列。正确的方法是使用
df['e','f']=[7,8,9]
。但是,我想使用list
new_键
作为键。通常我可以使用星号
*
,但显然它不能在函数之外使用。因此,我得到以下错误

new_key = ['e','f']

df[new_key] = [7,8,9]
> KeyError: "['e' 'f'] not in index"

df[*new_key] = [7,8,9]
> SyntaxError: invalid syntax 

有人知道如何解决这个问题吗?

先将其转换为元组:

df[tuple(new_key)] = [7,8,9]

   a  c  e
   b  d  f
0  1  4  7
1  2  5  8
2  3  6  9

啊!非常感谢你!作品您需要这样做是违反直觉的,特别是因为
df['e','f']
可以工作,这似乎意味着解包也应该工作。很乐意帮忙!