import pandas as pd
import numpy as np
data1=np.array([[1,1,1],[3,2,2],[2,3,3]])
index=np.arange(1,4,1)#起点,终点+1,步长
columns=list('ABC')
df1=pd.DataFrame(data1,index=index,columns=columns)
print('df1:\n',df1)
df1.sort_values(inplace=True,by=['A'])#排序
print('排序后的df1(注意index也变化了):\n',df1)
#创建一个df2
df2=pd.DataFrame([4,4,4],index=[1,2,3],columns=['D'])
connect=pd.concat([df1,df2],axis=1,sort=True)
print('希望连接排序后的df1和df2:\n',connect)
此时我们发现,刚刚明明排好的数据df1,连接df2时,为什么又复原了?因为concat连接是根据那个索引值进行连接(第一行连接第一行……),索引值在排序的时候也跟着排好了。
#直接重置2个索引,让它们一致
df1.reset_index(inplace=True,drop=True)
df2.reset_index(inplace=True,drop=True)
connect=pd.concat([df1,df2],axis=1,sort=True)#0:纵向合并;1;横向合并
print('成功连接排序后的df1和df2:\n',connect)