- 一、什么是numpy?
- 二、创建数组
- 三、数组的形状
- 四、numpy读取数据
- 五、numpy索引和切片
- 六、numpy中数值的修改
- 6.1、布尔修改法
- 6.2、where()
- 6.2、clip()
- 七、数组的拼接
- 八、numpy常用方法
- 九、常用的统计函数
- 十、数组广播
一个在Python中做科学计算的基础库,重在数值计算,也是大部分PYTHON科学计算库的基础库,多用于在大型、多维数组上执行数值运算
二、创建数组import random import numpy as np #使用numpy生成数组,得到ndarray的类型 t1=np.array([1,2,3,4]) print(t1.dtype) #int32 t2 =np.array (range(1,4) ,dtype=float) print(t2.dtype) #调整数据类型 t3 = t2.astype("int8") print(t3.dtype) #numpy中的小数 t4 = np.array ([random.random() for i in range( 10)]) print(t4) print(t4.dtype), #修改小数位 t5 = np.round(t4,2) print(t5)三、数组的形状
shape()返回值
(m)代表m列
(m,n)代表m行n列的矩阵
(aXmXn)代表a个m行n列的矩阵
t6=np.array([[1,2,3],[4,5,6]]) print(t6.shape) #(2, 3) print(t6.reshape(6)) print(t6.flatten()) #扁平化(一维)四、numpy读取数据
np.loadtxt(frame.dtype=np.float.delimiter=None,skiprows=O,usecols=None,unpack=False)
data[1]#取一行 data[:,2]#取一列 data[1:3]#取多行 data[:,2:4]#取多列 data[[2,8,10]]#取不连续的多行 data[:,[0,2]]#取不连续的多列 data[2:5,1:4]#取多行和多列,取第3行到第五行,第2列到第4列的结果 data[[0,2],[0,1]]#取多个不相邻的点六、numpy中数值的修改 6.1、布尔修改法
data[data<10]= 666# 修改data里小于10的值为6666.2、where()
np.where(data<10,0,10)# 把data中小于10的改为0,否则改为106.2、clip()
data.clip(10,18)#小10的替换为10、大于18的替换为了18.七、数组的拼接
np.vstack ((t1,t2)) #竖直拼接(vertically) 上下 np.hstack ((t1,t2)) #水平拼接(horizontally)左右 t[[1,2],:] = t[[2,1],:]#行交换 t[ :,[0,2]] = t[:,[2,0]]#列交换八、numpy常用方法
#构造全为0的数据 np.zeros((2, 1)) #构造全为1的数据 np.ones((2, 1)) #获取最大值最小值的位置 np.argmax(t.axis=O) np.argmin(t.axis=1) #创建一个对角线为1的正方形数组(方阵): np.eye(3) #创建3列随机数矩阵 np.random.rand(3) a = b.cope()#复制,a和b互不影响九、常用的统计函数
求和:t.sum(axis=None)
均值: t.mean(a,axis=None)受离群点的影响较大
中值: np.median(t.axis=None)
最大值: t.max(axis=None)最小值:t.min(axis=None)
极值: np.ptp(t.axis=None)即最大值和最小值只差
广播原则:
如果两个数组的后缘维度(即:从末尾开始算起的维度)的轴长相符或其中一方的长度为1,则认为它们是广播兼容的,广播会在缺失和(或)长度为1的轴上进行.
ndarray.ndim
维度个数,也就是数组轴的个数,比如一维、二维、三维等数组的维度。这是一个整数的元组,表示每个维度上数组的
ndarray.shape
大小。例如,一个n行和m列的数组,它的shape属性为(n,m)
ndarray.size
数组元素的总个数,等于shape属性中元组元素的乘积
描述数组中元素类型的对象,既可以使用标准的 Python类型
ndarray.dtype
创建或指定,也可以使用NumPy特有的数据类型来指定,比如numpy.int32、numpy.float64等
数组中每个元素的字节大小。例如,元素类型为float64的数
ndarray.itemsize
组有8(64/8)个字节,这相当于ndarray.dtype.itemsize
arange()
通过arange()函数可以创建一个等差数组,它的功能类似于range(),只不过arange()函数返回的结果是数组,而不是列表 np.arange(1, 20, 5)
unique()
unique()函数来找出数组中的唯一值,并返回排序后的结果
in1d()
in1d()函数用于判断数组中的元素是否在另一个数组中存在,该函数返回的是一个布尔型的数组
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)