给定两个具有非唯一索引和多维列的df:
ars公司:
arsenal arsenal arsenal arsenal
NaN B3 SK BX BY
2015-04-15 NaN NaN NaN 26.0
2015-04-14 NaN NaN NaN NaN
2015-04-13 26.0 26.0 23.0 NaN
2015-04-13 22.0 21.0 19.0 NaN
车:
chelsea chelsea chelsea chelsea
NaN B3 SK BX BY
2015-04-15 NaN NaN NaN 1.01
2015-04-14 1.02 NaN NaN NaN
2015-04-14 NaN 1.05 NaN NaN
这里是csv格式
,arsenal,arsenal,arsenal,arsenal
,B3,SK,BX,BY
2015-04-15,,,,26.0
2015-04-14,,,,
2015-04-13,26.0,26.0,23.0,
2015-04-13,22.0,21.0,19.0,
,chelsea,chelsea,chelsea,chelsea
,B3,SK,BX,BY
2015-04-15,,,,1.01
2015-04-14,1.02,,,
2015-04-14,,1.05,,
我想连接/合并它们,类似于外部连接,这样就不会删除行。
我希望输出为:
arsenal arsenal arsenal arsenal chelsea chelsea chelsea chelsea
NaN B3 SK BX BY B3 SK BX BY
2015-04-15 NaN NaN NaN 26.0 NaN NaN NaN 1.01
2015-04-14 NaN NaN NaN NaN 1.02 NaN NaN NaN
2015-04-14 NaN NaN NaN NaN NaN 1.05 NaN NaN
2015-04-13 26.0 26.0 23.0 NaN NaN NaN NaN NaN
2015-04-13 22.0 21.0 19.0 NaN NaN NaN NaN NaN
据我所知,没有一个pandas工具可以工作:merge
,join
,concat
。merge的外部连接提供了一个点积,这不是我想要的,而concat
不能处理非唯一索引。
你知道怎样才能做到这一点吗?
注意:数据帧的长度不会相同。
我已经设法用pandas的
concat
方法对它进行了排序。首先,我们需要添加一个多索引级别,使其成为唯一的:
现在我们可以使用
concat
:输出:
您要使用
on='outer'
参数来表示join
(test1.csv
和test2.csv
是您提供的文件):这就是我得到的结果:
相关问题 更多 >
编程相关推荐