【发布时间】:2016-07-26 06:21:04
【问题描述】:
我有两个数据框如下:
df2 = pd.DataFrame(np.random.randn(5,2),columns=['A','C'])
df3 = pd.DataFrame(np.random.randn(5,2),columns=['B','D'])
我希望以交替方式获取列,以便得到以下结果:
df4 = pd.DataFrame()
for i in range(len(df2.columns)):
df4[df2.columns[i]]=df2[df2.columns[i]]
df4[df3.columns[i]]=df3[df3.columns[i]]
df4
A B C D
0 1.056889 0.494769 0.588765 0.846133
1 1.536102 2.015574 -1.279769 -0.378024
2 -0.097357 -0.886320 0.713624 -1.055808
3 -0.269585 -0.512070 0.755534 0.855884
4 -2.691672 -0.597245 1.023647 0.278428
我认为我对这个解决方案的效率真的很低。这样做更蟒蛇/泛泛的方式是什么?
附言在我的具体情况下,列名不是 A、B、C、D,也不是按字母顺序排列的。只要知道我想合并哪两个数据框。
【问题讨论】:
-
两个数据框中有多少列包含真实数据?
-
列数相等,现在假设为 2。