数据分析——从入门到精通(一)
·
Date_Analysis
1.环境安装
1.安装Anaconda,进入官网https://www.anaconda.com/
Anaconda集成了当前系统下,大多数Python的模块库,包含了1500+/R的用于科学技术的数据包,是一个环境集。conda工具,便于管理依赖库及创建虚拟环境
anaconda2常用于python2 anaconda3常用于python3.7及以上

按住window +R,输入:cmd,点击回车。试着运行下面代码:
接着执行:

2.jupyter notebook基本操作
进入到需要的文件夹里,启动jupyter notebook命令:
jupyter notebook
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hiP9ghmv-1649222173935)(Typora_image/004.png)]](https://i-blog.csdnimg.cn/blog_migrate/ce84fb2cdb360d28ee55aaa16ea3a3b4.png)
新建笔记
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6otbw1eo-1649222173936)(Typora_image/005.png)]](https://i-blog.csdnimg.cn/blog_migrate/b7dc126aad148b03fbb5e2f5ebdb02a3.png)
什么是IPython
在线文档+Python环境,演示如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cJDDjOuw-1649222173938)(Typora_image/006.png)]](https://i-blog.csdnimg.cn/blog_migrate/c99df9d5a11c7283a1d5133fad906eb3.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2oIETH1e-1649222173939)(Typora_image/007.png)]](https://i-blog.csdnimg.cn/blog_migrate/fdc141cb960c13036d4112776a0cdb9d.png)
命令行模式下快捷键大全:
F: 查找并且替换
Ctrl-Shift-F: 打开命令配置
Ctrl-Shift-P: 打开命令配置
Enter: 进入编辑模式
P: 打开命令配置
Shift-Enter: 运行代码块, 选择下面的代码块
Ctrl-Enter: 运行选中的代码块
Alt-Enter: 运行代码块并且插入下面
Y: 把代码块变成代码
M: 把代码块变成标签
R: 清除代码块格式
1: 把代码块变成heading 1
2: 把代码块变成heading 2
3: 把代码块变成heading 3
4: 把代码块变成heading 4
5: 把代码块变成heading 5
6: 把代码块变成heading 6
K: 选择上面的代码块
上: 选择上面的代码块
下: 选择下面的代码块
J: 选择下面的代码块
Shift-K: 扩展上面选择的代码块
Shift-上: 扩展上面选择的代码块
Shift-下: 扩展下面选择的代码块
Shift-J: 扩展下面选择的代码块
A: 在上面插入代码块
B: 在下面插入代码块
X: 剪切选择的代码块
C: 复制选择的代码块
Shift-V: 粘贴到上面
V: 粘贴到下面
Z: 撤销删除
D,D: 删除选中单元格
Shift-M: 合并选中单元格, 如果只有一个单元格被选中
Ctrl-S: 保存并检查
S: 保存并检查
L: 切换行号
O: 选择单元格的输出
Shift-O: 切换选定单元的输出滚动
H: 显示快捷键
I,I: 中断服务
0,0: 重启服务(带窗口)
Esc: 关闭页面
Q: 关闭页面
Shift-L: 在所有单元格中切换行号,并保持设置
Shift-空格: 向上滚动
空格: 向下滚动
编辑模式下
编辑模式(按 Enter 生效)
Tab: 代码完成或缩进
Shift-Tab: 工具提示
Ctrl-]: 缩进
Ctrl-[: 取消缩进
Ctrl-A: 全选
Ctrl-Z: 撤销
Ctrl-/: 评论
Ctrl-D: 删除整行
Ctrl-U: 撤销选择
Insert: 切换 重写标志
Ctrl-Home: 跳到单元格起始处
Ctrl-上: 跳到单元格起始处
Ctrl-End: 跳到单元格最后
Ctrl-下: 跳到单元格最后
Ctrl-左: 跳到单词左边
Ctrl-右: 跳到单词右边
Ctrl-删除: 删除前面的单词
Ctrl-Delete: 删除后面的单词
Ctrl-Y: 重做
Alt-U: 重新选择
Ctrl-M: 进入命令行模式
Ctrl-Shift-F: 打开命令配置
Ctrl-Shift-P: 打开命令配置
Esc: 进入命令行模式
Shift-Enter: 运行代码块, 选择下面的代码块
Ctrl-Enter: 运行选中的代码块
Alt-Enter: 运行代码块并且插入下面
Ctrl-Shift-Minus: 在鼠标处分割代码块
Ctrl-S: 保存并检查
下: 光标下移
上: 光标上移
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SUka7lez-1649222173943)(Typora_image/008.png)]](https://i-blog.csdnimg.cn/blog_migrate/27658912da64d0a64f49b2c598ab2daa.png)
按ESC,就会从编辑模式切换到命令行模式
### 命令行模式的快捷键
--ctrl + enter 运行
--alt+ enter 在下面插入新行
--l 打开或关闭行号
--b 当前cell下方新插入一个cell
--a 当前cell上方新插入一个cell
--m 当前cell单元转化为markdown标签文档
--y 当前文档标记的单元cell 转化为code代码单元
--dd 删除当前的Cell单元
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ol46H9iB-1649222173944)(Typora_image/009.png)]](https://i-blog.csdnimg.cn/blog_migrate/6e330daeefc889877d1564b873c46c26.png)
按Enter,就会从命令行模式切换到编辑模式
### 编辑模式的快捷键
- tab 键 缩进
-ctrl + [ 向左缩进(取消缩进)
-ctrl + ] 向右缩进
-shift + tab 提示 (在PyCharm里面提示python代码函数的参数用 ctrl+p)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0xYbhbQg-1649222173947)(Typora_image/010.png)]](https://i-blog.csdnimg.cn/blog_migrate/8cb05de361252ee5a85ede3cb6abcc01.png)
演示案例:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5rtTrVOs-1649222173948)(Typora_image/011.png)]](https://i-blog.csdnimg.cn/blog_migrate/d1297074c736ac9c5e6ebe77e5ec636e.png)
3.numpy
新建文件day_one_numpy
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JOlSSkHf-1649222173951)(Typora_image/012.png)]](https://i-blog.csdnimg.cn/blog_migrate/e21f66eb50731e9a8c14ae54db538186.png)
什么是numpy,关于用Python去做数学的操作
| Numpy系统是Python的一种开源的数值计算扩展 |
|---|
| 优势:一个强大的N维数组对象Array |
| 比较成熟的(广播)函数库 |
| 用于整合C/C++和Fortran代码的工具包------>numba计算加速 |
| 实用的最优化、积分、插值、线性代数、傅里叶变换和随机数生成函数 |
| numpy和稀疏矩阵运算包scipy配合使用更加强大 |
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KWzNu3zF-1649222173952)(Typora_image/013.png)]](https://i-blog.csdnimg.cn/blog_migrate/df5843197ed5cd19860c91f83b437b25.png)
### 数组转化的数据类型优先级
int<float<str
如果都是整型,转化完都是整型
如果有一个是小数类型,转化完都是小数类型
如果列表中既有整数,又有小数,还有字符串类型,则最终转化的结果为字符串类型
创建数组的方式,除了使用np.array(),还可以使用np的函数创建
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-akNBoX5y-1649222173955)(Typora_image/014.png)]](https://i-blog.csdnimg.cn/blog_migrate/c38c8eccda21a721ece2681d1e36dad1.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5B0AWaoK-1649222173957)(Typora_image/015.png)]](https://i-blog.csdnimg.cn/blog_migrate/7b5e9565431ba9dc8956ca3cc748b60a.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nocvbeDX-1649222173959)(Typora_image/016.png)]](https://i-blog.csdnimg.cn/blog_migrate/e287c3ec82356468ff9b8edb69d2fe02.png)
总结:
### 创建新数组的方式
### 创建新数组的方式
- np.ones(shape,dtype,order)
- np.full(shape,fill_value,dtype) # 填充其他数
- np.eye(N,M=None,k=0,dtype=None) # 对角线
- np.linspace(start,end,num=50,endpoint=True,dtype=None)
- np.arange(([start,] stop[, step,], dtype=None))
- np.random.random(size=None)
- np.random.randint(low,high,size=None)
- np.random.randn(d0,d1,...dn)
- np.random.seed(seed=10)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aMHoX7qQ-1649222173960)(Typora_image/017.png)]](https://i-blog.csdnimg.cn/blog_migrate/8bb800074153ca0ad14b051521789ccf.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ro6Hvmqu-1649222173963)(Typora_image/018.png)]](https://i-blog.csdnimg.cn/blog_migrate/26f21dea49b5062373f6163e83558897.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Izmxig9x-1649222173964)(Typora_image/019.png)]](https://i-blog.csdnimg.cn/blog_migrate/9933ff0dc28dfed19595fabe54ca9f94.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-exgYEpNj-1649222173967)(Typora_image/020.png)]](https://i-blog.csdnimg.cn/blog_migrate/f384ee5a5dd4ae5c2efdb97b7c750670.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PXEfQ0Ou-1649222173969)(Typora_image/021.png)]](https://i-blog.csdnimg.cn/blog_migrate/562af8ce8d56a67332f34fc8feb288cb.png)
4.数组的属性
### 数组的属性
- dtype 数组 (内元素)的类型
- size 数组的长度(元素的个数)
- shape 数组的形状,是tuple
- ndim 数组的维度
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EuSMXl7O-1649222173970)(Typora_image/022.png)]](https://i-blog.csdnimg.cn/blog_migrate/b20dab9d89c6648cf7ccbfca1e0c3978.png)
### ndarray的索引
- 索引从0开始 [index] 或 [行索引]
- 多维数组的索引操作,[行索引,列索引], 在多维数组中,索引是从外轴开始的。外轴可以理解为从外到内。
- 连续的索引操作,即切片操作 [行起始索引:行结束索引:步长, 列起始;列结束:步长]
- 默认的起始索引为0,结束索引为最后一个(包含最后一个)(长度),步长为1
- [:3] 查看前三行,这种写法不包含结束位置 同Python中的list相同
- [1:] 查看从第二个开始,到最后,包含结束位置
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UGYGJCyS-1649222173972)(Typora_image/023.png)]](https://i-blog.csdnimg.cn/blog_migrate/d233a309efd8b2489e2ab7dd6324b7c7.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0huKxY3e-1649222173973)(Typora_image/024.png)]](https://i-blog.csdnimg.cn/blog_migrate/5efbc3cc2a0531d86f6c85911ee913c5.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LXqdgid7-1649222173975)(Typora_image/025.png)]](https://i-blog.csdnimg.cn/blog_migrate/2739b6877d68bdb888ecbac6516fa876.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Grxfd5ai-1649222173977)(Typora_image/026.png)]](https://i-blog.csdnimg.cn/blog_migrate/e5566241c271c45258d3e8e57083c853.png)
### 变形操作
- reshape(shape=)注意 变形前后的shape不变
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iHs7t8gz-1649222173978)(Typora_image/027.png)]](https://i-blog.csdnimg.cn/blog_migrate/a9d8de7d7e5072ead4dde3f1ef2c541a.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tgypwn6V-1649222173979)(Typora_image/028.png)]](https://i-blog.csdnimg.cn/blog_migrate/06812e2f5699c1e01a38eea74e5974ff.png)
### 转置操作
- 将行和列倒转,即行和列互换,原行转变为列,原列转变为行
- .T
- .transpose()
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CsH8rJjx-1649222173982)(Typora_image/029.png)]](https://i-blog.csdnimg.cn/blog_migrate/b745a716396f1f42cd6c90d88002bcab.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZSLe15B4-1649222173982)(Typora_image/030.png)]](https://i-blog.csdnimg.cn/blog_migrate/6ac1011bf076e625328c6cf070ffd523.png)
### 数组级联操作
- np.concatenate(objs,axis=0)
- np.hstack() 水平级联
- np.vstack() 垂直级联
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UIOQ5trC-1649222173984)(Typora_image/031.png)]](https://i-blog.csdnimg.cn/blog_migrate/fd97610b591473b5d7823001f9c5527a.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pEUtiJjx-1649222173985)(Typora_image/032.png)]](https://i-blog.csdnimg.cn/blog_migrate/b76ba8a267cb9f57276e55cce5c6083b.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YRfAJ1FX-1649222173987)(Typora_image/033.png)]](https://i-blog.csdnimg.cn/blog_migrate/56103871704930c9bdac3fc8fbf12a70.png)
### 切分
- np.split(arr,indeces,axis=0)
- np.hsplit()
- np.vsplit()
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H9hSX3V8-1649222173988)(Typora_image/034.png)]](https://i-blog.csdnimg.cn/blog_migrate/1e09045348dc9b08c03f85d85e29c2da.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DG2WQ6m6-1649222173990)(Typora_image/035.png)]](https://i-blog.csdnimg.cn/blog_migrate/e14be5643b3a6be4319e862ab63bd908.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cJh7cwOu-1649222173992)(Typora_image/036.png)]](https://i-blog.csdnimg.cn/blog_migrate/463e4c117655d50c535739b760c1118b.png)
### 副本
- .copy()
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GJIbXzCO-1649222173992)(Typora_image/037.png)]](https://i-blog.csdnimg.cn/blog_migrate/23e09807d3b5457a01cb6fe848f46c01.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FrB0c4i1-1649222173993)(Typora_image/038.png)]](https://i-blog.csdnimg.cn/blog_migrate/0a9ab9a7e7cda3530cc26c3e5f93964e.png)
### 聚合操作
- sum()
- mean()
- max()
- min()
- std() # 标准差
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xvBJDf2y-1649222173994)(Typora_image/039.png)]](https://i-blog.csdnimg.cn/blog_migrate/df42a32bde3337407d67206f21b5422f.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M9TcTh1Y-1649222173995)(Typora_image/040.png)]](https://i-blog.csdnimg.cn/blog_migrate/baa81ad314dcae0d801ca9d4e8d6cc3d.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d3Ybz2PG-1649222173996)(Typora_image/041.png)]](https://i-blog.csdnimg.cn/blog_migrate/bba64cf36508afadb32b7e2bd91a129f.png)
### 数值的算术运算
- 加(+)、减(-)、乘(*)、除(/)、取整(//),取余(%)
### 矩阵运算
- .dot()
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WdxgmI2b-1649222173997)(Typora_image/042.png)]](https://i-blog.csdnimg.cn/blog_migrate/f0cfd498ff13dd3e4fcc0c5a2295acbb.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pA5sNy3F-1649222173999)(Typora_image/043.png)]](https://i-blog.csdnimg.cn/blog_migrate/29ee50fdb303bc566e7169b5e011f0db.png)
当一个数值和一个常数相加时,就引出了ndarray 广播机制
### ndarray 广播机制的两条规则
- 规则一:为缺失的维度补1
- 规则二:假定缺失元素,用已有值填充
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6uwN0K1z-1649222174000)(Typora_image/045.png)]](https://i-blog.csdnimg.cn/blog_migrate/230be81f1d5beaeeb3529bb439bb2c2d.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r1TT6JZW-1649222174001)(Typora_image/046.png)]](https://i-blog.csdnimg.cn/blog_migrate/6f6888fa837165aa6d17e06579e65c9f.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fgLdKOtG-1649222174003)(Typora_image/047.png)]](https://i-blog.csdnimg.cn/blog_migrate/cec94c165b32a10fb2219392fab97264.png)
演示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7qEIxyZ3-1649222174004)(Typora_image/048.png)]](https://i-blog.csdnimg.cn/blog_migrate/aeb0260bdfd9dc880a81fe0364ec3c76.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nw5kCqdo-1649222174005)(Typora_image/049.png)]](https://i-blog.csdnimg.cn/blog_migrate/09dc41565572a38f83535db41b22ba4d.png)
### 矩阵运算
- 左矩阵的列数要和右矩阵的行数必须保持一致
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6zvH30uu-1649222174006)(Typora_image/050.png)]](https://i-blog.csdnimg.cn/blog_migrate/60c21f118d8455b22312403923129ea4.png)
注意:
第一行第一个数18是 1*2+2*5+3*2 a的第一行×b的第一列
第一行第二个数32 是 1*4+2*2+3*8 a的第一行×b的第二列
第一行第三个数31 是1*8+2*7+3*3 a的第一行×b的第三列
...
第二行的第一个数27是 1*2+3*5+5*2 a的第二行×b的第一列
第二行的第二个数50是 1*4 +3*2+5*8 a的第二行×b的第二列
...
第三行的第一个数36是 2*2+4*5+6*2 a的第三行×b的第一列
第三行的第二个数64是 2*4+4*2+6*8 a的第三行×b的第二列
...
第四行的第一个数54是3*2+6*5+9*2 a的第四行×b的第一列
第五行的第二个数96是3*4+6*2+9*8 a的第四行×b的第二列
第一行第一个数18是 1*2+2*5+3*2 a的第一行×b的第一列
第一行第二个数32 是 1*4+2*2+3*8 a的第一行×b的第二列
第一行第三个数31 是1*8+2*7+3*3 a的第一行×b的第三列
...
第二行的第一个数27是 1*2+3*5+5*2 a的第二行×b的第一列
第二行的第二个数50是 1*4 +3*2+5*8 a的第二行×b的第二列
...
第三行的第一个数36是 2*2+4*5+6*2 a的第三行×b的第一列
第三行的第二个数64是 2*4+4*2+6*8 a的第三行×b的第二列
...
第四行的第一个数54是3*2+6*5+9*2 a的第四行×b的第一列
第五行的第二个数96是3*4+6*2+9*8 a的第四行×b的第二列
更多推荐
所有评论(0)