pandas 对series和dataframe进行排序的实例

  • Post category:Python

下面是“pandas对series和dataframe进行排序的实例”的详细攻略:

1. pandas.Series排序

1.1 升序排列

要对单列数据进行排序,可以使用 .sort_values() 方法。默认情况下,该方法按照升序对 Series 进行排序:

import pandas as pd

data = {'量产日期': ['2021-01-12', '2021-06-24', '2021-08-05', '2020-12-20'], '产量': [123, 110, 240, 98]}
df = pd.DataFrame(data)
print(df)
# 输出
#         量产日期   产量
# 0  2021-01-12  123
# 1  2021-06-24  110
# 2  2021-08-05  240
# 3  2020-12-20   98

sorted_series = df['产量'].sort_values()
print(sorted_series)
# 输出
# 3     98
# 1    110
# 0    123
# 2    240
# Name: 产量, dtype: int64

1.2 降序排列

若要使用降序排列,则可以传入参数 ascending=False

sorted_series = df['产量'].sort_values(ascending=False)
print(sorted_series)
# 输出
# 2    240
# 0    123
# 1    110
# 3     98
# Name: 产量, dtype: int64

2. pandas.DataFrame排序

2.1 按单个列排序

要按单个列进行排序,在 .sort_values() 方法中指定要排序的列名:

sorted_df = df.sort_values('产量')
print(sorted_df)
# 输出
#         量产日期   产量
# 3  2020-12-20   98
# 1  2021-06-24  110
# 0  2021-01-12  123
# 2  2021-08-05  240

2.2 按多个列排序

若要按多个列排序,则可以传入多个列名,以列表的形式:

data = {'量产日期': ['2021-01-12', '2021-08-05', '2021-01-12', '2021-08-05'], '产线': ['A', 'B', 'C', 'B'], '产量': [123, 240, 89, 120]}
df = pd.DataFrame(data)
print(df)
# 输出
#         量产日期 产线   产量
# 0  2021-01-12  A  123
# 1  2021-08-05  B  240
# 2  2021-01-12  C   89
# 3  2021-08-05  B  120

sorted_df = df.sort_values(['量产日期', '产量'])
print(sorted_df)
# 输出
#         量产日期 产线   产量
# 2  2021-01-12  C   89
# 0  2021-01-12  A  123
# 3  2021-08-05  B  120
# 1  2021-08-05  B  240

以上就是对 pandas 对 Series 和 DataFrame 进行排序的完整攻略,希望能对你有所帮助。