热线电话:13121318867

登录
2019-01-25 阅读量: 702
pandas:沿轴= 1的DataFrames的低级串联

问题:

一个有2个DataFrame

一个人知道两者有相同的(MultiIndex)指数

(以防它有帮助)两个索引都被排序

两个DataFrame都有不相交的列

如何通过将内存块一起打包来非常有效地连接2个DataFrame,即相当于

pd.concat([df1, df2], axis=1, sort=False)

但强迫某种方式完全忽略两个DataFrames的索引值,使其速度非常快?我希望它基本上尽可能接近内存复制操作(没有合并)。

import pandas as pd

df1 = pd.DataFrame(data={'i1':['a','a','b','b'],

'i2':[0,1,0,1],

'x':[1.,2.,3.,4.]})

df1.set_index(['i1','i2'], inplace=True)

df1.sort_index(inplace=True)

df2 = pd.DataFrame(data={'y':[5,6,7,8]}, index=df1.index)

pd.concat([df1, df2], axis=1, sort=False)

x y

i1 i2

a 0 1.0 5

1 2.0 6

b 0 3.0 7

1 4.0 8

#############分割线######

解决办法:for col in df2:

df1[col] = df2[col].values

0.0000
3
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子