python矩阵

numpy 介绍

夙愿已清 提交于 2019-11-27 20:17:36
NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的 MatLab 系统。[1] 外文名 numpy 含 义 Python的一种开源的数字扩展 内 容 一个强大的N维数组对象Array 用 途 存储和处理大型矩阵 一个用python实现的科学计算包。包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。 NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA用其处理一些本来使用C++,Fortran或 Matlab 等所做的任务。 转自:https://baike.baidu.com/item/numpy/5678437?fr=aladdin 来源: http://www.cnblogs.com

python -- 借助numpy保存数据为csv格式

南笙酒味 提交于 2019-11-27 18:37:45
借助numpy可以把数组或者矩阵保存为csv文件,也可以吧csv文件整体读取为一个数组或矩阵。 1.csv ==> matrix import numpy my_matrix = numpy.loadtxt(open("D:\\test.csv","rb"), delimiter=",", skiprows=0) 2.matrix ==> csv import numpy numpy.savetxt("new.csv", my_matrix, delimiter=',') 来源: CSDN 作者: Islotus 链接: https://blog.csdn.net/Islotus/article/details/61208690

Python数据分析-Numpy

放肆的年华 提交于 2019-11-27 15:19:47
Numpy特点 Numpy作为使用Python进行科学计算的常用库,有着如下特点: 提供了N维数组(矩阵),快速高效,矢量数学运算; 高效的Index,不需要循环,因为底层实现采用了C语言开发。 常见的数组和矩阵的方法 数组和矩阵的创建与维度信息 numpy.array() ## 数组的创建 vector = numpy.array([1,2,3,4]) ## 矩阵的创建 matrix = numpy.array([ [1,2,3], [4,5,6], [7,8,9] ]) shape ## 打印数组的维度信息 vector.shape() ——》(4,) # 数组中存在4个元素 ## 打印矩阵的维度信息 matrix.shape()——》(3,3) #三行三列 reshape eg: a = np.arange(15).reshape(3, 5) #随机创建3行5列的矩阵 Out: [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14]] a.ndim # 返回其维数 即 2 注意: reshape可以创建一个改变了尺寸的新数组,但是原始数组的shape是不会发生变化的。 reshape(-1) :数组新的shape属性应该要与原来的配套,如果等于-1的话,那么Numpy会根据剩下的维度计算出数组的另外一个shape属性值。 eg: z = np

数据分析之 三剑客:Numpy,Pandas,Matplotlib的简单实用

拟墨画扇 提交于 2019-11-27 03:21:31
NumPy   NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 - 创建ndarray   1 使用np.array()创建     1.1 一维数组的创建      import numpy as np np.array([1,2,3,4,5]) 来源: https://www.cnblogs.com/lulin9501/p/11338062.html

numpy 和 tensorflow 中的各种乘法(点乘和矩阵乘)

隐身守侯 提交于 2019-11-26 21:11:28
点乘和矩阵乘的区别: 1)点乘(即“ * ”) ---- 各个矩阵对应元素做乘法 若 w 为 m*1 的矩阵,x 为 m*n 的矩阵,那么通过点乘结果就会得到一个 m*n 的矩阵。 若 w 为 m*n 的矩阵,x 为 m*n 的矩阵,那么通过点乘结果就会得到一个 m*n 的矩阵。 w的列数 只能为 1 或 与x的列数相等 (即n), w的行数与x的行数相等 才能进行乘法运算。 2)矩阵乘 ---- 按照矩阵乘法规则做运算 若 w 为 m*p 的矩阵,x 为 p*n 的矩阵,那么通过矩阵相乘结果就会得到一个 m*n 的矩阵。 只有 w 的列数 == x的行数 时,才能进行乘法运算 1. numpy 1)点乘 ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' 1 import numpy as np 2 3 w = np.array([[0.4], [1.2]]) 4 x = np.array([range(1,6), range(5,10)]) 5 6 print w 7 print x 8 print w*x 运行结果如下图: 2)矩阵乘 ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助

Python学习(四)数组和矩阵

不想你离开。 提交于 2019-11-26 17:50:25
参考资料: https://github.com/lijin-THU/notes-python(相应实体书为:《自学Python——编程基础、科学计算及数据分析》) 一、生成数组的函数 1. arange()函数:类似于python中的range()函数,只不过返回的不是列表,而是 返回数组 (1)arange(start, stop=None, step=1, dtype=None)  //产生一个在区间 [start, stop) 之间( 不包括stop ),以 step 为间隔的数组,如果只输入一个参数,则默认从 0 开始,并以这个值为结束,数组类型由dtype指定 (2)与 range 不同, arange 允许非整数值输入,产生一个非整型的数组:np.arange(0, 2 * np.pi, np.pi / 4) 或 np.arange(0, 2 * np.pi, np.pi / 4, dtype=np.float32) 注:由于存在精度问题,使用浮点数可能出现问题,如 np.arange(1.5, 2.1, 0.3) 返回 array([1.5, 1.8, 2.1])   终点stop的值2.1 出现在数组中 2. linspace()函数:linspace(start, stop, N)  产生 N 个 等距分布 在 [start, stop] 间的元素组成的数组,

NumPy的详细教程

假如想象 提交于 2019-11-26 12:58:40
先决条件 在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutorial. 如果你想要运行教程中的示例,你至少需要在你的电脑上安装了以下一些软件: Python NumPy 这些是可能对你有帮助的: ipython是一个净强化的交互Python Shell,对探索NumPy的特性非常方便。 matplotlib将允许你绘图 Scipy在NumPy的基础上提供了很多科学模块 基础篇 NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)。 例如,在3D空间一个点的坐标[1, 2, 3]是一个秩为1的数组,因为它只有一个轴。那个轴长度为3.又例如,在以下例子中,数组的秩为2(它有两个维度).第一个维度长度为2,第二个维度长度为3. [[1.,0.,0.], [0.,1.,2.]] NumPy的数组类被称作ndarray 。通常被称作数组。注意numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能。更多重要ndarray对象属性有: ndarray.ndim 数组轴的个数,在python的世界中,轴的个数被称作秩 ndarray

用python构建2D坐标矩阵

偶尔善良 提交于 2019-11-26 06:40:10
用python构建一个范围为[0,1]的2D坐标矩阵。 也适用于将图片转换成2D的网格型数据,进而转换成坐标矩阵。 如果是图片,要先将图片转换成网格型数据: import numpy as np col, row = np.meshgrid(np.arange(img_size),np.arange(img_size)) PS:如果不是图片类型的数据,直接将img_size替换成需要的坐标系的相关参数即可(前面是列后面是行)。 然后利用stack函数将生成的数据转换成坐标系: coord = np.stack((col,row), axis=2).reshape(-1,2) / img_size 补充: (为了方便解释,这里假设img_size=3) 1.np.meshgrid的解释 np.arange(3) ->->-> [0,1,2] np.meshgrid((0,1,2),(0,1,2)) ->->-> [array([[0,1,2], [0,1,2], [0,1,2]], array([[0,0,0], [1,1,1], [2,2,2]])] col = [[0,1,2], [0,1,2], [0,1,2]] row = [[0,0,0], [1,1,1], [2,2,2]] 2.np.stack的解释 1) axis = 0 就是正常在col下面堆叠row。 [[[0,1