目次
一、情况搭建
1:安装Pandas&jupyter
2:在Pycharm中使用anaconda情况
3:jupyter的快捷键
二、Numpy
1:N-dimensional array
1.1 数组 - [array]
1.2 维度 - [dimension]
1.3 N
1.4 限制 - [restrictions]
2:Numpy的使用
2.1 Numpy 属性
2.2 Numpy 中ndarray的创建
2.3 Numpy 内置函数
2.4 Numpy 运算
生存不能等待别人来安排,要自己去争取和奋斗;而不论其效果是喜是悲,但可以慰藉的是,你总不枉在这天下上活了一场。有了这样的认识,你就会珍重生存,而不会玩世不恭;同时,也会给人自身注入一种强大的内在力量。-- 取自《平凡的天下》
一、情况搭建
1:安装Pandas&jupyter
相干安装包下载链接【阿里云盘的,百度云盘没空间了】
https://www.alipan.com/s/4zT9xv5Wxtk
假如你想要anaconda来用 Jupyter Notebook 且你的电脑名称是中文,别担心!!!别去网上乱搜了,我试过许多方式,根本都没用,比如改注册名什么什么乱七八糟的。
碎碎念:说真话,我不知道为什么都在推anaconda哈,每次我一搜数据分析情况,弹出来的就是anaconda,但是实际上我感觉入门数据分析的话,这个有点大材小用,由于数据分析用得比力多的是pandas,其实自己直接pip install pandas直接就可以用了,【假如是更深条理研究的话当我没说】。还有那个jupyter notebook也是,创建一个没有中文路径的捏造情况,然后在捏造情况中下pip install jupyter notebook就根本上可以办理了,需要什么库自己下就好了,假如没有硬性要求可以不使用anaconda自带的jupyter的,anaconda其实就是帮我们集成了许多包而已,大不了自己下包就行了。
我已经下载了anaconda了,我直接在anaconda里创建捏造情况
- conda create --prefix=D:/code/envs/pytorch python=3.11
复制代码 检察有哪些捏造情况
- # 查看一下你的anaconda所有虚拟环境
- conda info --envs
- # activate 你的路径名称 pytorch是我刚刚创建的虚拟环境
- activate d:/code/envs/pytorch
复制代码
然后就是直接安装pandas (自带numpy)和jupyter notebook了
- pip install pandas
- pip install jupyter notebook
复制代码 也可以自己手动创建捏造情况,不过可能你的捏造情况python版本不能自己选罢(这里不展示)
2:在Pycharm中使用anaconda情况
- 然后测试一下jupyter和pandas是不是可以用,pycharm也可以创建jupyter文件哈,右键就可以看到
ok,到此为止,你已经学会了如何自己搭建一个jupyter的基础情况,然后你也学会了导入pandas包,以是你如今是一名初露锋芒的大将了,由于许多人都卡在了中文,而你,我的朋友,你已经超越了他们!
3:jupyter的快捷键
Jupyter Notebook 中分为两种模式:下令模式和编辑模式
3.1 两种模式通用快捷键:
- Shift+Enter,执行本单元代码,并跳转到下一单元
- Ctrl+Enter,执行本单元代码,留在本单元
3.2 按ESC进入下令模式:
- Y,cell切换到Code模式
- M,cell切换到Markdown模式
- A,在当前cell的上面添加cell
- B,在当前cell的下面添加cell
- 双击D:删除当前cell
3.3 按Enter进入编辑模式,或鼠标点击代码编辑框体的输入区域
- 撤销:Ctrl+Z(Mac:CMD+Z)
- 反撤销: Ctrl + Y(Mac:CMD+Y)
- 补全代码:变量、方法后跟Tab键
- 为一行或多行代码添加/取消解释:Ctrl+/(Mac:CMD+/)
- 代码提示: shift + Tab
二、Numpy
假如你够细心的话,你在下载pandas的时间,你可以发现,你已经下载完了numpy包,由于pandas是基于numpy来的。
对了,数据分析是建立在你已经有了python基础的前提下哈,假如你对python不认识,可以进入 Python程序计划(零基础到精通) 头歌实践教学平台去入门一下python,这个平台对新手挺友好的
NumPy官网 对NumPy的评价是:At the core of the NumPy package, is the ndarray object.
翻译过来就是:NumPy包的核心是ndarray对象(N-dimensional array - n维数组)。
1:N-dimensional array
别担心,英语看多了就认识了。
N维数组 -> N 维度 数组
1.1 数组 - [array]
In computer programming, an array is a structure for storing and retrieving data. We often talk about an array as if it were a grid in space, with each cell storing one element of the data.
翻译过来就是:在盘算机编程中,数组是一种存储(storing)和检索(retrieving)数据结构。我们经常把数组看成空间中的网格来讨论,每个网格存储一个数据元素
ok!恭喜你!你乐成发现,原来数组在盘算机中是用来对数据举行存储和检索
1.2 维度 - [dimension]
那维度是用来干嘛的?
For instance, if each element of the data were a number, we might visualize a “one-dimensional” array like a list:
A two-dimensional array would be like a table:
A three-dimensional array would be like a set of tables, perhaps stacked as though they were printed on separate pages.
翻译过来就是:
假如数据中的每个元素都是数字,我们可以将“一维”数组可视化为列表(例如上面图片内里的 1 5 2 0)
二维数组类似表格(例如上图中的表格)
三维数组就像一组桌子,可能堆叠在一起,就像印在不同的页面上一样。
三维数组你也可以这么明确,例如:(x,y,z)坐标系,有z个(x,y)平面直角坐标系堆在串在一个签上。
1.3 N
In NumPy, this idea is generalized to an arbitrary number of dimensions, and so the fundamental array class is called : it represents an “N-dimensional array”.ndarray
翻译过来就是:
在NumPy中,这种思想被推广到恣意维数上,因此称为根本的array类:它表现一个”n维数组”
ok!到这里,你已经掌握了ndarray对象的基础概念了
1.4 限制 - [restrictions]
其实大多数NumPy数组都有一些限制。
例如:
- 数组中的所有元素的数据类型必须雷同。
- 一旦创建,数组的总巨细就不能改变。
- 形状必须是“矩形”,而不是“锯齿”
当满足这些条件时,NumPy会使用这些特性使数组比限制较少的数据结构更快、更节流内存、更方便使用。
2:Numpy的使用
ndarray先容
- NumPy数组是一个多维的数组对象(矩阵),称为ndarray(N-Dimensional Array)
- 具有矢量算术运算本领和复杂的广播本领,并具有执行速度快和节流空间的特点
- 留意:ndarray的下标从0开始,且数组里的所有元素必须是雷同类型。
2.1 Numpy 属性
- ndim:获取数组的维度
- shape:获取数组的形状
- size:获取数组的元素个数
- dtype:获取数组元素的数据类型
- type:查看数组的类型
- itemsize:获取数组中元素的大小
复制代码 2.2 Numpy 中ndarray的创建
- zeros() /ones()/empty()
函数zeros创建一个满是0的数组
函数ones创建一个全1的数组
函数full创建一个全为fill_value(自己指定命)的数组
函数empty创建一个内容随机并且依靠于内存状态的数组
- arange(), 类似 python 的 range() ,创建一个一维 ndarray 数组。
- arange(x,y,z...) x:起始值 y:结束值(不含) z:步长
复制代码
- matrix(), 是 ndarray 的子类,只能天生 2 维的矩阵
- rand()/randint()/uniform()
- 需要先调用random,然后再使用
- rand()的功能是生成一个指定形状的随机浮点数数组,范围默认是0-1之间
- randint()的功能是生成一个指定形状的随机整数数组,范围需要指定,形状用size指定
- uniform()的功能是生成一个指定形状的随机浮点数数组,范围需要指定,形状用size指定
复制代码
- astype()的功能是修改数组的数据类型,留意:返回新的
- 注意使用方法:是你已经有了的ndarray对象去调用,不是np去调用
- 即:nda_rand_one.astype(int)
复制代码
- logspace()的功能是天生一个等比数组
- (x,y,n,base): x起始幂,y结束幂,n个数默认是50个,base基础值默认是10
复制代码
- linspace()的功能是天生一个等差数组
- (x,y,n): x起始值,y结束值,n个数默认是50个
复制代码
2.3 Numpy 内置函数
- # 基本函数如下
- np.ceil(): 向上最接近的整数,参数是 number 或 array
- np.floor(): 向下最接近的整数,参数是 number 或 array
- np.rint(): 四舍五入,参数是 number 或 array
- np.isnan(): 判断元素是否为 NaN(Not a Number),参数是 number 或 array
- np.multiply(): 元素相乘,参数是 number 或 array
- np.divide(): 元素相除,参数是 number 或 array
- np.abs():元素的绝对值,参数是 number 或 array
- np.where(condition, x, y): 三元运算符,x if condition else y
- # 注意: 需要注意multiply/divide 如果是两个ndarray进行运算 shape必须一致
复制代码
- np.mean(), np.sum():所有元素的平均值,所有元素的和,参数是 number 或 array
- np.max(), np.min():所有元素的最大值,所有元素的最小值,参数是 number 或 array
- np.std(), np.var():所有元素的标准差,所有元素的方差,参数是 number 或 array
- np.argmax(), np.argmin():最大值的下标索引值,最小值的下标索引值,参数是 number 或 array
- np.cumsum(), np.cumprod():返回一个一维数组,每个元素都是之前所有元素的 累加和 和 累乘积,参数是 number 或 array
- # 多维数组默认统计全部维度,axis参数可以按指定轴心统计,值为0则按列统计,值为1则按行统计。
复制代码
- np.any(): 至少有一个元素满足指定条件,返回True
- 假如我们想要知道矩阵a和矩阵b中对应元素是否有一个相等,我们需要使用any方法。
- np.all(): 所有的元素满足指定条件,返回True
- 假如我们想要知道矩阵a和矩阵b中所有对应元素是否相等,我们需要使用all方法,
复制代码
- np.unique():找到唯一值并返回排序结果,类似于Python的set集合
复制代码
- numpy.sort(数组):函数排序, 返回排序后的副本
- 数组.sort():在原数据上进行修改
复制代码 2.4 Numpy 运算
- 根本运算
数组的算数运算: 是按照元素的。新的数组被创建并且被效果添补。
- import numpy as np
- a = np.array([20, 30, 40, 50])
- b = np.arange(4)
- c = a - b
- print("数组a:", a)
- print("数组b:", b)
- print("数组运算a-b:", c)
复制代码
两个ndarray, 一个是 a 另一个是 b
它们俩之间举行 a + b 或 a - b 或 a * b 盘算的前提是 shape雷同
对应位置的元素举行 加减乘除 的盘算
第一种盘算:*运算符 和 np.multiply()函数,这两种方式在 NumPy 中都表现对应元素相乘(Hadamard 积)。
两个数组在雷同位置的元素举行乘法运算,要求两个数组的形状必须雷同。
- # 第一种计算
- import numpy as np
- a = np.array([[1, 2, 3], [4, 5, 6]])
- b = np.array([[1, 2, 3], [4, 5, 6]])
- print(a * b)
- print(np.multiply(a, b))
复制代码
第二种盘算:dot()方法 和 np.dot()函数,它们表现矩阵乘法运算。
对于矩阵乘法,第一个矩阵的列数必须与第二个矩阵的行数相称,才能举行运算。
- # 第二种计算
- import numpy as np
- x = np.array([[1, 2, 3], [4, 5, 6]])
- y = np.array([[6, 23], [-1, 7], [8, 9]])
- print(x)
- print(y)
- print(x.dot(y))
- print(np.dot(x, y))
复制代码
看到这里,恭喜你!你已经学会了Numpy的大部门使用了!你可以出去装杯了
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |