In [187]: df1
Out[187]:
a b
0 5 2
1 6 7
2 6 5
3 1 6
4 0 2
In [188]: df2
Out[188]:
c d
0 5 7
1 5 5
2 2 4
3 4 3
4 9 0
In [189]: df3
Out[189]:
e f
0 8 1
1 0 9
2 4 5
3 3 9
4 9 5
In [190]: df1.join(df2).join(df3)
Out[190]:
a b c d e f
0 5 2 5 7 8 1
1 6 7 5 5 0 9
2 6 5 2 4 4 5
3 1 6 4 3 3 9
4 0 2 9 0 9 5
应该很快很有效
或者,您可以将它们连接起来:
In [191]: pd.concat([df1,df2,df3], axis=1)
Out[191]:
a b c d e f
0 5 2 5 7 8 1
1 6 7 5 5 0 9
2 6 5 2 4 4 5
3 1 6 4 3 3 9
4 0 2 9 0 9 5
3个DF(每行100K)的时间比较:
In [198]: %timeit pd.concat([df1,df2,df3], axis=1)
100 loops, best of 3: 5.67 ms per loop
In [199]: %timeit df1.join(df2).join(df3)
100 loops, best of 3: 3.93 ms per loop
如果可以通过索引连接数据帧,则可以在一个传送带中进行:
示例:
应该很快很有效
或者,您可以将它们连接起来:
3个DF(每行100K)的时间比较:
所以正如你所看到的,
join
要快一点相关问题 更多 >
编程相关推荐