

# 编程实践（Numpy）上

## 基本信息

- 学习周期：13天，每天平均花费时间3小时-5小时不等，根据个人学习接受能力强弱有所浮动。
- 学习形式：理论学习 + 练习
- 人群定位：有一定python编程的基础。
- 先修内容：[Python编程语言](https://github.com/datawhalechina/team-learning-program/tree/master/PythonLanguage)
- 难度系数：中




## 学习目标

本开源内容是Python基础的进阶，主要目标是学习numpy的基本数据类型，了解numpy各类函数的应用；以便为后期学习pandas和sklearn奠定坚实基础。

## 任务安排


### Task1：数据类型及数组创建（2天）
- 熟悉基础常量、常见数据类型，以及时间日期和时间增量的处理。
- 掌握数组的创建和数组的属性。


### Task2：索引（3天）

- 掌握数组的索引与切片，熟悉数组迭代。


### Task3：数组的操作（2天）
- 掌握数组的各种操作，比如：更改形状，数组转置，更改维度，数组组合，数组拆分，数组平铺，添加和删除元素等。


### Task4：数学函数及逻辑函数（3天）

- 掌握numpy中常用的数学函数及逻辑函数。
- 数学函数，比如：数学运算，三角函数，指数和对数，加法函数及乘法函数，四舍五入等。
- 逻辑函数，比如：真值测试，数组内容，逻辑函数等。

### Task5：排序搜索计数及集合操作（3天）
- 掌握numpy中排序搜索计数的相关函数。
- 掌握numpy中关于集合的操作，比如：如何构建集合，集合的交并差集及异或操作等。


---
# 编程实践（Numpy）下

## 基本信息

- 学习周期：10天，每天平均花费时间3小时-5小时不等，根据个人学习接受能力强弱有所浮动。
- 学习形式：理论学习 + 练习
- 人群定位：有一定python编程的基础。
- 先修内容：[Python编程语言](https://github.com/datawhalechina/team-learning-program/tree/master/PythonLanguage)
- 难度系数：中




## 学习目标

本开源内容是Python基础的进阶，主要目标是学习numpy在输入输出、随机抽样、数理统计和线性代数中的应用，为后期学习pandas和sklearn奠定坚实基础。

## 任务安排

### Task00：熟悉规则（1天）

- 组队、修改群昵称
- 熟悉打开规则


### Task01：输入输出（1天）
- 熟悉 Numpy 如何处理二进制文件和文本文件。


### Task02：随机抽样（2天）

- 熟悉 Numpy 常用的随机函数
- 熟悉 Numpy 如何处理离散型随机变量的分布，如二项分布、泊松分布、超几何分布
- 熟悉 Numpy 如何处理连续型随机变量的分布，如均匀分布、正态分布、指数分布


### Task03：统计相关（2天）
- 熟悉 Numpy 如何处理次序统计，如最大值、最小值、极差、百分位数等
- 熟悉 Numpy 如何处理均值、方差、标准差、协方差等
- 熟悉 Numpy 如何绘制直方图等


### Task04：线性代数（2天）

- 熟悉 Numpy 如何处理矩阵乘法以及向量的内积
- 熟悉 Numpy 如何处理矩阵的特征值和特征向量
- 熟悉 Numpy 如何处理矩阵的各种分解，如SVD、QR、Cholesky分解
- 熟悉 Numyp 如何处理矩阵的范数、行列式和秩
- 熟悉 Numpy 如何处理逆矩阵和线性方程组求解



### Task05 : 实践大作业（2天）
- 完成大作业的任务



---
# 贡献人员


姓名 | 博客|备注
---|---|---
马燕鹏|[CSDN](https://lsgogroup.blog.csdn.net/)<br>微信公众号：LSGO软件技术团队|华北电力大学
韩绘锦|[CSDN](https://blog.csdn.net/weixin_45569785)|华北电力大学
左秉文|[CSDN](https://me.csdn.net/blog/weixin_45568353)|华北电力大学
王彦淳||华北电力大学
刘雯静|[Github](https://github.com/evenson5)|理商双学士，曾任职基金研究员，高级分析师

