df1
0 1 2 3 a 5.1 4.7 4.9 2.4 b 3.0 3.2 3.0 6.2 c 4.5 1.3 2.7 1.8 d 1.4 1.9 1.4 0.5 e 0.2 0.2 0.2 3.5
newdf
0 1 2 3 0 10 45 13 1 1 47 15 46 42 2 38 26 20 11 3 9 16 44 23 4 45 6 24 35
concat
合并,设置参数axis=1
,ignore_index=True
pd.concat([df1,newdf],axis=1,ignore_index=True)
0 1 2 3 4 5 6 7 a 5.1 4.7 4.9 2.4 NaN NaN NaN NaN b 3.0 3.2 3.0 6.2 NaN NaN NaN NaN c 4.5 1.3 2.7 1.8 NaN NaN NaN NaN d 1.4 1.9 1.4 0.5 NaN NaN NaN NaN e 0.2 0.2 0.2 3.5 NaN NaN NaN NaN 0 NaN NaN NaN NaN 10.0 45.0 13.0 1.0 1 NaN NaN NaN NaN 47.0 15.0 46.0 42.0 2 NaN NaN NaN NaN 38.0 26.0 20.0 11.0 3 NaN NaN NaN NaN 9.0 16.0 44.0 23.0 4 NaN NaN NaN NaN 45.0 6.0 24.0 35.0
axis=0
的时候有效,列表成功合并,并且index的确被忽略了。pd.concat([df1,newdf],axis=0,ignore_index=True)
0 1 2 3 0 5.1 4.7 4.9 2.4 1 3.0 3.2 3.0 6.2 2 4.5 1.3 2.7 1.8 3 1.4 1.9 1.4 0.5 4 0.2 0.2 0.2 3.5 5 10.0 45.0 13.0 1.0 6 47.0 15.0 46.0 42.0 7 38.0 26.0 20.0 11.0 8 9.0 16.0 44.0 23.0 9 45.0 6.0 24.0 35.0
df1.reset_index(drop=True, inplace=True) df2.reset_index(drop=True, inplace=True)
ignore_index = True
并不意味忽略index而后链接,而是指链接后再从新赋值index(len(index))。从上面能够看出若是两个df有重叠的索引仍是能够自动合并的。
原解释code
ignore_index = True'忽略',表示未在链接轴上对齐。它只是按它们传递的顺序将它们粘贴在一块儿,而后从新分配实际索引的范围(例如,范围(len(索引))),以便加入非重叠索引之间的差别(假设示例中的轴= 1)是,使用ignore_index = False(默认值),您得到索引的concat,并使用ignore_index = True得到范围。