【发布时间】:2016-08-20 22:24:56
【问题描述】:
我有一些这样的数据框
num a -- num b -- num c -- num d
101 0 101 1 102 0 101 1
102 1 103 1 103 0 102 0
103 0 104 0 104 1 103 1
104 0 105 0 105 1 104 1
105 1 107 1 106 1 106 0
106 1 108 1 107 1 107 0
我将它们放在一个称为框架的数组中。 我想做类似 pd.concat(frames) 的事情并因此得到
num a b c d
101 0 1 Nan 1
102 1 Nan 0 0
103 0 1 0 1
104 0 0 1 1
105 1 0 1 Nan
106 1 Nan 1 0
107 Nan 1 1 0
108 Nan 1 Nan Nan
但我认为我应该使用 pd.merge 将 num 设置为加入列。使用 merge 我想我只能合并 2 个数据框,我应该在循环中使用它来合并我所有的数据框吗?或者我可以用 concat 做到这一点还是有另一种(更好的)方法?
【问题讨论】:
-
我不确定更好的方法,
concat仅在索引设置为num时才有效,否则这将有效:df1.merge(df2, how='outer').merge(df3, how='outer').merge(df4, how='outer')但它有点拗口
标签: python pandas dataframe merge concat