【发布时间】:2020-12-13 11:50:24
【问题描述】:
我有一个数据框多索引熊猫数据框df
First Foo Bar
Second Begin Begin
1 5 1
2 4 4
3 6 6
我想添加两列同名
First Foo Bar
Second Begin End Begin End
1 5 1 1 2
2 4 5 4 4
3 6 7 6 7
来自此来源 (new):
First Foo Bar
1 1 2
2 5 4
3 7 7
我尝试了df[:] = new[:] 之类的东西,但这只返回了 NaN
另一种方法是使用类似 for 循环的东西,但这不是 Pandas 的方法。在网上搜索并没有给我任何解决此问题的见解。
如何将具有相同名称和形状的新列添加到多索引 Pandas 数据框的每个第一级?
编辑:
这种方法df[('Foo', 'End')] = new['Foo'] df[('Bar', 'End')] = new['Bar'] 不是一个选项,因为在我的实际问题中,不是要添加两列,而是要添加数百列。
【问题讨论】:
-
为什么要使用多索引?可能有更简单的方法来实现你想要的
-
这能回答你的问题吗? Selecting columns from pandas MultiIndex
-
@TrentonMcKinney 不,我的问题不是关于选择,而是关于插入列
-
@anon01 那更简单的方法是?
-
使用列代替多索引