假设我有两个数据帧d1和d2
d1=pd.DataFrame(np.one((3,3),dtype=int),list('abc'),[0,1,2])
d2=pd.DataFrame(np.zero((3,2),dtype=int),list('abc'),[3,4])
d1
0 1 2
a 11
b 1 1
c 1
d2
3 4
a 0 0
B00
C00
将两个数据帧的列交织在一起是一种简单而通用的方法。我们可以假设d2中的列数总是比d1中的列数少一个。而且,指数是相同的
我想要这个:
pd.concat([d1[0],d2[3],d1[1],d2[4],d1[2]],轴=1)
0 3 1 4 2
10101
b10101
C10101
使用pd.concat组合数据帧,并使用toolz.interleave对列重新排序:
来自toolz的
导入交错
pd.concat([d1,d2],axis=1)[列表(交错([d1,d2])]
结果输出如预期:
031412
10101
b10101
C10101