首先,让我们导入数据集:
Students.xlsx

  1. import pandas as pd
  2. path = r'D:\pandas\tmp\StudentsS.xlsx' # 定义一个path,令他等于数据集的地址
  3. data = pd.read_excel(path) # 导入Excel格式文件中的数据

1.排序

  1. 单列排序(根据成绩进行排序)
  1. data1 = data.sort_values('Score') # 按照数据框的列col升序的方式进行排序,ascending默认True(升序)
  2. data2 = data.sort_values('Score', ascending=False)# 按照数据框的列col降序的方式进行排序
  3. print(data1)
  4. print(data2)
  1. 多列排序(根据年龄升序,成绩降序的方式排序)
  1. data2 = data.sort_values(['Age', 'Score'], ascending=[True, False])
  2. print(data2)

2.groupby函数

  • 注意:groupby之后的数据并不是DataFrame格式的数据,而是特殊的groupby类型
  1. # data.groupby(col) # 按照某列对数据框data做分组
  2. print(data.groupby('Age').size()) # 通过size()方法返回分组后的记录数目统计结果,该结果是Series类型
  3. """
  4. Age
  5. 16 2
  6. 17 2
  7. 18 1
  8. 19 2
  9. 20 2
  10. 21 1
  11. 22 1
  12. 26 1
  13. 27 1
  14. 30 1
  15. 31 1
  16. 32 1
  17. 33 1
  18. 34 1
  19. 35 2
  20. dtype: int64
  21. """

还可以分组后查看某列的特征值:

  1. print(data.groupby('Age')['Score'].mean())
  2. # 按照列'Age'对数据框做分组处理后,返回对应的'Score'的平均值
  3. """
  4. Age
  5. 16 82.0
  6. 17 57.0
  7. 18 85.0
  8. 19 70.5
  9. 20 93.5
  10. 21 61.0
  11. 22 50.0
  12. 26 92.0
  13. 27 73.0
  14. 30 96.0
  15. 31 59.0
  16. 32 63.0
  17. 33 100.0
  18. 34 59.0
  19. 35 78.0
  20. Name: Score, dtype: float64
  21. """