Python科学计算库
jupyter notebook
我们先下载一个jupyter notebook。
pip下载指令1
pip install jupyterlab
运行指令1
jupyter notebook
numpy
numpy是py中,为实现快速科学计算与使用简便之间的均衡,把C的计算方式封装的一个类
其中narray是核心类
numpy对象中有几个向量就有几个“维度”,而向量自身也有一个“长度”
可以笼统理解为,假如一个narray的shape是(3,5),它就近似于一个三行五列的矩阵
1 | import numpy as np |
pandas
一些简单的操作,通过注释做出说明1
2
3
4
5
6
7
8
9
10
11
12
13
14
15hk = pd.read_csv('香港2022疫情数据.csv')
# 返回一个dataframe类的对象
print(hk["住院病例"])
# 访问这一列
print(hk[["危殆病人","严重病人"]])
# 通过传入一个列表,告诉对象的getitem,要返回多个列
print(hk.iloc[4])
# 用iloc访问指定行
print(hk.iloc[::2])
# 用iloc加切片访问多行指定行
print(hk.iloc[1::2][["新增确证病例", "新增死亡个案"]])
print(wc.groupby("组别")['失球'].sum())
print(wc.groupby(["排名", "胜场"])["进球"].mean())
print(wc[wc['排名']==2])
print(wc[(wc["积分"] > 6) | (wc["积分"] < 2)])
groupby
groupby会按一个或者多个组返回一个GroupBy对象,这个对象类似于把原先的二维列表按分组值压缩。
它本身无法被print,但是可以用聚合函数去查看某一列或者某几列的聚合值,也可以遍历分组(分组迭代)
🎯 聚合函数(Aggregation)
用于统计数值:
- .sum():求和
- .mean():均值
- .count():计数
- .min() / .max() 返回最值
- .median():中位数
- .std() / .var():标准差 / 方差
可以按多列分组,类似于条件概率,在第一列的每个分组情况下,针对第二列再细分,以此类推。
🎯 2. 多个聚合函数(.agg())
1 | df.groupby('组别')['积分'].agg(['mean', 'sum', 'count']) |
🎯 3. 遍历分组(分组迭代)
1 | for name, group in df.groupby('组别'): |
布尔列表
在numpy和pandy之中,对其列表进行布尔值判断,会返回一个布尔列表,可进行布尔值的比对操作。