- 第十章_Numpy库
- 1)由于 list、dict 等可以包含不同的数据类型,因此不可调用dtype()函数
- 2)np.array 中要求所有元素属于同一数据类型,因此可调用dtype()函数
- 能用dtype() 才能用 astype()
- [: , 2]表示取所有行的第 3 列(第 3 列索引号为 2)
- [数组名[: , 0] < 5]表示取第一列(第 1 列索 引号为 0)值小于 5 所在的行(第 1、 2 行)
- 整体表示取第 1、 2 行的第 3 列,得到结果 array([3, 6])这个“子”数组。
- a为数组,1为行的索引号,0表示axis=0
- 删除数组的第2、3行
- 删除第二列
- 删除第二列
- 删除第二列
- 线性方程组Ax=B
- 将list1列表以,为连接符进行连接形成一个整体字符串写入到存储文件的变量中,然后换行。
第十章_Numpy库
数组操作
创建数组
通过括号中传递Python的序列对象(列表)进行创建数组,多层则多维数组
np.array(序列对象)
np.array(序列对象,dtype = np.数据类型)
返回数据元素的数据类型
三大区别👉
type()
- 返回数据结构类型(list、dict、numpy.ndarray 等)
- dtype()
astype(‘数据类型英文’)
-
查看行数
-
查看列数
-
改变数组的形状
数组名.shape = (行数,列数)
若行(列)数填-1,则为不干涉,由计算机根据列(行)数来自动计算行(列)数
数组名.reshape((行,列))
特殊数组
产生全0的一维数组
-
产生全1的一维数组
-
产生形状为(2,3)的全0数组
-
产生指定形状且指定填充元素的数组
-
随机数组
产生从0-1均匀产生随机数的数组
-
产生从以 0 为中心的标准正态分布或高斯分布中产生随机样本。
-
产生从半开半闭区间[low,high)上生成离散均匀分布的整数值;若high=None,则取值区间变为[0,low)
np.random.randint()
-
根据数组 a 的形状生成一个元素全为 1 的数组
-
根据数组 a 的形状生成一个元素全为 0 的数组
-
根据数组 a 的形状生成一个元素全为 val 的数组
-
只分配内存,不进行初始化
-
测定数组长度大小
测定数组长度(元素个数)
-
测定数组数据的个数(元素可包含数据)
-
测定数组的维度
-
访问数组
指定单个访问
-
切片访问多个
-
⭐访问符合条件的元素
数组名[: , 2][数组名[: , 0] < 5]
np.where(c==4)
np.delete(a,1,0)
- np.delete(数组名,(1,2),0)
np.delete(数组名,1,axis = 1)
删除第二列
通过.hsplit(a,2)
删除第二列
数组拼接
数组a、b竖直(Vertical)拼接
-
数组a、b水平(Horizontal)拼接
-
数组拆分
数组a竖直等分切割为b份
-
数组a水平等分切割为b份
-
查重
去重一维数组或者列表的元素,并按元素从小到大返回一个新的无元素重复的元组或者列表
np.unique(a,return_index,return_inverse)
数组名.flatten()
-
缺失值检测(数据处理前一般检查是否缺失项进行删除或填补)
检查是否是空值nan,返回布尔值
np.isnan(数组名)
注意:对空值的判断不能使用直接的数学比较形式”==”,不能用”==np.nan”来判断,只能用np.isnan()来操作。 np.nan的数据类型是float。
查找空值nan并返回位置
-
查找空值nan并返回类似坐标形式位置
-
数组复制
浅复制-数组不同,数据共享
-
深复制-数组不同,数据不共享
-
两者理解
复制方式不受另一个数组改变而改变是因为.copy()复制方法是深复制,复制创建了新的数组对象,同时两个数组的数据不共享。
如果想要复制的数组随原数组数据改变而改变,即需要通过浅复制——.view()视图方式去进行复制,此时两个数组不同,但是指向同一个内存地址,他们的数据是共享(相同)的。
数组排序
让a数组-按行排序并生成一个新的数组
np.sort(a,axis=1)
- a.sort(axis = 1)
axis0与1
np.argsort()
-
查找每列最小值
-
查找每列的最大值
-
查找每列的最小值
-
数组的保存与读取
保存一个数组到一个二进制文件中
简单的数组保存
- np.save(‘路径/…/保存的命名’,要保存的数组名)
非结构化数据保存
-
数值计算
常用
数组求和
- sum
- 数组均值计算
- mean
- 数组方差计算
- var
- 数组标准差计算
- std
- 数组所有元素累计和
- comsum
- 数组所有元素的累计积
- comprod
- 求数组元素的平方根
- np.sqrt(数组名)
- 计算数组n次方
- np.power(数字或数组,几次方)
- np.power(a,3)
- np.power(数字或数组,几次方)
计算数组中位数
(只支持数值、空值计算,其他会报错)
注意axis即轴在计算时的变化理解
-
返回矩阵的转置
-
返回矩阵自身的逆矩阵
-
求解线性方程组
np.linalg.solve(A,B)
线性方程组Ax=B
概述
在用 Python 对 n 维数组和矩阵进行运算时,Numpy 库提供了大量有用特征。
Numpy 库数组有两种形式
向量
-
矩阵
-
导入Numpy库
import numpy as np
通常通过as将np作为Numpy的别名
数据组织的维度
一维数据
序列或集合的内容
存储方式
4种存储方式
-
XML
JSON
特点
- 底层以键值对形式展示
- 通过逗号分隔
- []组成各键值对成为整体形成高层次的键值对
- 代码
- ‘本书’:[ {‘第一章’:’程序设计基本方法’} {‘第二章’:’Python基本元素’}………]

