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]
。但是,我想使用listnew_键
作为键。通常我可以使用星号*
,但显然它不能在函数之外使用。因此,我得到以下错误
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']
可以工作,这似乎意味着解包也应该工作。很乐意帮忙!