df_merged = pd.concat(df_list) #合并
df_merged.drop_duplicates(subset=['搜索词'], inplace=False) # 去重
df_merged.sort_values(by=['搜索频率排名'], inplace=False) #排序
最终排序的结果是这样的
2,548,828
2,548,857
2,564,574
8,021
8,581
17,110
26,617
想要的结果应该是这样的
8,021
8,581
17,110
26,617
2,548,828
2,548,857
2,564,574
import pandas as pd
import numpy as np
data ={'A': ['1,995,713',
'1,996,214',
'1,997,537',
'1,999,167',
'10,697',
'100,464',
'107,900',
'111,620',
'117,913',
'118,708']
}
df = pd.DataFrame(data=data)
print(df.sort_values(by='A', key=lambda x: x.str.replace(",",'').astype(np.float)))
用inplace=True ,df_merged就是排序的,用False,df_merged不变,但返回排好序的Df
不是说了吗?排完要用inplace=True,要不就赋给变量