pandas:sort_values排序后concat"失效“问题解决

Hasana ·
更新时间:2024-09-20
· 634 次阅读

pandas:sort_values排序后concat"失效“问题解决 问题描述: 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)

数据1

df1.sort_values(inplace=True,by=['A'])#排序 print('排序后的df1(注意index也变化了):\n',df1)

数据1.1

#创建一个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)

connect_data
此时我们发现,刚刚明明排好的数据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)

在这里插入图片描述


作者:ice_night



concat VALUES pandas sort

需要 登录 后方可回复, 如果你还没有账号请 注册新账号