下面是“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 进行排序的完整攻略,希望能对你有所帮助。