首先,让我们导入数据集:
Students.xlsx
import pandas as pdpath = r'D:\pandas\tmp\StudentsS.xlsx' # 定义一个path,令他等于数据集的地址data = pd.read_excel(path) # 导入Excel格式文件中的数据
1.排序
- 单列排序(根据成绩进行排序)
data1 = data.sort_values('Score') # 按照数据框的列col升序的方式进行排序,ascending默认True(升序)data2 = data.sort_values('Score', ascending=False)# 按照数据框的列col降序的方式进行排序print(data1)print(data2)
- 多列排序(根据年龄升序,成绩降序的方式排序)
data2 = data.sort_values(['Age', 'Score'], ascending=[True, False])print(data2)
2.groupby函数
- 注意:groupby之后的数据并不是DataFrame格式的数据,而是特殊的groupby类型
# data.groupby(col) # 按照某列对数据框data做分组print(data.groupby('Age').size()) # 通过size()方法返回分组后的记录数目统计结果,该结果是Series类型"""Age16 217 218 119 220 221 122 126 127 130 131 132 133 134 135 2dtype: int64"""
还可以分组后查看某列的特征值:
print(data.groupby('Age')['Score'].mean())# 按照列'Age'对数据框做分组处理后,返回对应的'Score'的平均值"""Age16 82.017 57.018 85.019 70.520 93.521 61.022 50.026 92.027 73.030 96.031 59.032 63.033 100.034 59.035 78.0Name: Score, dtype: float64"""
