这样编排下来x10 在 x2前面 , 我希望x10排在x9前面,如何破
好像用sort无法实现这个功能
这样编排下来x10 在 x2前面 , 我希望x10排在x9前面,如何破
好像用sort无法实现这个功能
使用natsort就可以实现,在导入语句中加一句:import natsort,在data后面加上data=data.apply(natsort.humansorted(data.index))就可以了。
import pandas as pd
import natsort
data1=pd.DataFrame([1,2,3,4,5],index=['x1','x2','x3','x4','x5'],columns=['a'])
data2 = pd.DataFrame([6, 7, 8, 9, 10], index=[
'x6', 'x7', 'x8', 'x9', 'x10'], columns=['b'])
data=pd.merge(data1,data2,left_index=True,right_index=True,how='outer')
data=data.apply(natsort.humansorted(data.index))
print(data)
如有帮助,请点采纳。