概述
numpy常用方法
一、numpy简介:numpy是Python数值计算中最为重要的基础包,能对矩阵中的所有数据进行快速的矩阵运算,且无需编写循环,因此可以在很大程度上减少计算时间成本。另外,因为numpy的算法库是用C语言写的,所以numpy数组使用的内存量也小于其它Python内荐序列。
二、基本功能
- genfromtxt(args):用于打开txt文档,读出的结果均是矩阵的格式。
- array:通过numpy.array(...)来构造对象;构建向量:numpy.array([1, 2, 3]);构建矩阵:numpy.array([[1, 2, 3], [4, 5, 6]])
import numpy as np a = np.array([1,2,3]) a2 = np.array([[1,2,3],[4,5,6]])
array常用操作:
- 判断:vector = numpy.array([5, 10, 15, 20]) 当操作vector == 10时,返回的结果是[false, true, false, false],array会将每个元素与该值比较的结果返回出来。
- 索引:s = (vector == 10) vector[s]此时会返回[10],所以说s会将true对应的值返回出来,相当于索引。
- 转换:array.astype()方法,可以对array中的数据进行类型转换。
- 最小值:array.min() 按行/列求和
import numpy as np a = np.array([[1,2,3],[4,5,6]]) print(a.max()) # 获取整个矩阵的最大值 结果: 6 print(a.min()) # 结果:1 print(a.max(axis=0)) 结果: [4 5 6] print(a.max(axis=1)) 结果: [3 6] print(a.argmax(axis=1)) 结果: [2 2]
- 初始化:numpy.zeros((3, 4)):表示生成三行四列的矩阵,但是数值都是0。 numpy.ones((3, 4)):表示生成三行四列的矩阵,但是数值都是1。numpy.ones((3, 4), detype = numpy.int32):表示生成三行四列的矩阵,但是数值都是1并设置了相应的类型。
- 运算操作:两个想同维度的array相减,实际上是对应位置上的元素相减,如果对一个array进行整体的加减乘除,例如array + 1、array * 2实际上是对每个元素进行相同的操作。
- 内积操作:arrayA * arrayB,对应位置进行相乘。
import numpy as np a1 = np.array([[1,2,3],[4,5,6]]) a2 = np.array([[1,2],[3,4],[5,6]]) print(a1.shape[1]==a2.shape[0]) print(a1.dot(a2)) 结果: [[22 28] [49 64]]
- 矩阵乘法操作:arrayA.dot(arrayB)或者 numpy.dot(arrayA, arrayB)
- 将矩阵转换成向量的形式:array.ravel()
- 设置矩阵的shape:array.shape = (n, m)
- 转置:array.T
import numpy as np a = np.array([[1,2,3],[4,5,6]]) print(a.transpose()) 结果: [[1 4] [2 5] [3 6]] a = np.array([[1,2,3],[4,5,6]]) print(a.T) 结果: [[1 4] [2 5] [3 6]]
- 浅复制:array.view()
- 深复制:array.copy()
- 返回每列/行最大值的索引:array.argmax(axis=0/1)表示找出每列/行中最大元素的索引。
- 将array进行多份复制
三、通过函数创建矩阵
- numpy.arange()
import numpy as np a = np.arange(5) # 默认从0开始到5(不包括5),步长为1 print(a) # 返回 [0 1 2 3 4 5 ] a1 = np.arange(1,10) # 从1开始到10(不包括10),步长为1 print(a1) # 返回 [1 2 3 4 5 6 7 8 9] a2 = np.arange(1,10,2) # 从1开始到10(不包括10),步长为2 print(a2) # 返回 [ 1 3 5 7 9]
-
numpy.linspace(n, m, z):表示在n到m之间,平均生成z个元素。import numpy as np a = np.linspace(0,10,7) print(a) 结果: [ 0. 1.66666667 3.33333333 5. 6.66666667 8.33333333 10. ]
-
numpy.random.random(n, m):生成一个n行m列的矩阵,每个矩阵的元素的值是一个在正负1之间的随机值。
-
numpy.exp(array):该方法返回的是以array中每个元素为幂,e为底的矩阵。
最后
以上就是积极高跟鞋为你收集整理的Python数据分析-----numpy总结的全部内容,希望文章能够帮你解决Python数据分析-----numpy总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复