前言:本文是学习网易微专业的《python全栈工程师》 中的《数据分析 - 机器学习工程师》专题的课程笔记,欢迎学习交流。
一、课程目标
- 掌握常规统计方法
- 掌握分组运算方法
二、详情解读
2.1.统计
- 集中量:求和、平均值、中位数、最大/小值
import numpy as np
import pandas as pd
df = pd.read_csv('./datasets/gdp-pop.csv')
df.sample(5) # 随机抽取 5 个样本
运行结果:
将某一列的值设置为索引:
df = df.set_index("City_Name")
df.head() # 默认显示前 5 个样本
运行结果:
集中量统计方法:
1)、求和
df.sum() # 默认是一列一列的求和
运行结果:
2)、求平均值
df.mean()
运行结果:
3)、求中位数
df.median()
运行结果:
说明:以上方法没参数时,默认以特征方向为准(即列的方向),如果想以行的方向为准,可以带参数axis=1
df.mean(axis=1)
备注:上面的以行方向为准计算的平均值,没实际意义,因为 GDP
和 population
的单位不同,求平均值没意义。
为了更进一步pandas
中统计运算的特点,这里先杜撰一个缺失值:
df.lo['Hongloushi'] = np.nan
df
运行结果:
求和时缺失值不参与计算
df.sum()
运行结果:
获取数据集的统计结果:
df.describe()
运行结果:
获取数据集的信息结果:
df.info()
运行结果:
2.2.分组运算
df = pd.DataFrame({
"subject":['math', 'physics', 'english', 'math', 'physics', 'english'],
'score':[90, 80, 70, 95, 85, 75]})
df
运行结果:
2.2.