【问题标题】:Appending a dataframe to the right of another one with the same columns将数据框附加到具有相同列的另一个数据框的右侧
【发布时间】:2018-01-14 07:28:34
【问题描述】:
我有两个具有相同列名的不同数据框:
例如。
0 1 2
0 10 13 17
1 14 21 34
2 68 32 12
0 1 2
0 45 56 32
1 9 22 86
2 55 64 19
我想将第二帧附加到第一帧的右侧,同时继续第一帧的列名。输出如下所示:
0 1 2 3 4 5
0 10 13 17 45 56 32
1 14 21 34 9 22 86
2 68 32 12 55 64 19
最有效的方法是什么?
谢谢。
【问题讨论】:
标签:
python
pandas
dataframe
【解决方案1】:
先使用pd.concat,然后重置列。
In [1108]: df_out = pd.concat([df1, df2], axis=1)
In [1109]: df_out.columns = list(range(len(df_out.columns)))
In [1110]: df_out
Out[1110]:
0 1 2 3 4 5
0 10 13 17 45 56 32
1 14 21 34 9 22 86
2 68 32 12 55 64 19
【解决方案2】:
为什么不join:
>>> df=df.join(df_,lsuffix='_')
>>> df.columns=range(len(df.columns))
>>> df
0 1 2 3 4 5
0 10 13 17 45 56 32
1 14 21 34 9 22 86
2 68 32 12 55 64 19
>>>
join 是你的朋友,我用lsuffix(也可以是rsuffix)来忽略重复列的错误。