-
Series的排序:
Series.sort values(ascending=True,inplace=False,na_position=“last”)参数说明:- ascending:默认为True升序排序,为False降序排序
- inplace:是否修改原始Series
- na_position: "last"时nan放在最后,"first"时nan放在最前面
-
DataFrame的排序:
DataFrame.sort values(by,ascending=True,inplace=False,na_position=“last”)参数说明:- by:字符串或者List<字符串>,单列排序或者多列排序
- ascending:bool或者List,升序还是降序,如果是List对应by的多列
- inplace:是否修改原始DataFrame
- na_position: "last"时nan放在最后,"first"时nan放在最前面
示例:
import pandas as pd
import numpy as np
df = pd.read_excel('./ml-latest-small/demo2.xlsx')
df.loc[2, "pv"] = np.nan
df["level"] = [1, 2, 2, 1, 1, 2, 1, 2, 1, 2]
df["level2"] = [3, 4, 3, 4, 3, 4, 3, 4, 4, 4]
print(df["level2"].dtypes)
# print(df)
# Series的排序
ser = df["pv"].sort_values(axis=0, # 对Series排序时只能写0
ascending=True, # True为升序,False为降序
inplace=False,
na_position="last", # "last"时nan放在最后,"first"时nan放在最前面
ignore_index=False, # True时索引仍然保持0,1,2...
)
# print(ser)
# DataFrame的排序
df2 = df.sort_values(by=["level", "level2", "pv"], # 可指定多列排序,先排列表靠前的列
axis=0,
ascending=[True, False, True], # True为升序,False为降序;"level"列为升序,"level2"列为降序,"pv"列为升序
inplace=False,
na_position="last", # "last"时nan放在最后,"first"时nan放在最前面
ignore_index=False, # True时索引仍然保持0,1,2...
)
print(df2)



