jupyter notebook

我们先下载一个jupyter notebook。
pip下载指令

1
pip install jupyterlab

运行指令
1
jupyter notebook

numpy

numpy是py中,为实现快速科学计算与使用简便之间的均衡,把C的计算方式封装的一个类
其中narray是核心类

numpy对象中有几个向量就有几个“维度”,而向量自身也有一个“长度”

可以笼统理解为,假如一个narray的shape是(3,5),它就近似于一个三行五列的矩阵

1
2
3
4
5
6
7
8
9
10
11
12
import numpy as np
a = np.arange(15).reshape(3, 5)
a
a.shape :有总共有多少个数据 维度乘大小
a.ndim :有几个向量
a.dtype.name :
a.itemsize
a.size
type(a)
b = np.array([6, 7, 8])
b
type(b)

pandas

一些简单的操作,通过注释做出说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
hk = 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
2
df.groupby('组别')['积分'].agg(['mean', 'sum', 'count'])
df.groupby('组别')['积分'].agg(lambda x: x.max() - x.min())

🎯 3. 遍历分组(分组迭代)

1
2
3
for name, group in df.groupby('组别'):
print(name)
print(group)

布尔列表

在numpy和pandy之中,对其列表进行布尔值判断,会返回一个布尔列表,可进行布尔值的比对操作。