1、np.array 的shape (2,)与(2,1)含义

ndarray.shape:数组的维度。为一个表示数组在每个维度上大小的整数元组。例如二维数组中,表示数组的“行数”和“列数”。

ndarray.shape返回一个元组(tuple),这个元组的长度就是维度的数目,即ndim属性。

一般情况下:
[1,2]的shape值(2,),意思是一维数组,数组中有2个元素(一级中括号,维度1)。

[[1],[2]]的shape值是(2,1),意思是一个二维数组,每行有1个元素(两级中括号,维度2)。

[[1,2]]的shape值是(1, 2),意思是一个二维数组,每行有2个元素(两级中括号,维度2)。

中括号的层级数就是ndarray的维度,也是shape元组的元素个数。

2、numpy 提取矩阵的某一行或某一列

a([[, , ],
[, , ],
[, , ]])

矩阵的某一行,a[0]即 [0, 1, 2] ,类型为narry,shape为(3,)

矩阵的某一列,a[:, 0]即 [1, 3, 6],类型为narry,shape为(3,)

3、特殊矩阵生成

3.1) arange  用法 :np.arange(0,10)  // 生成[0,1,2,3,4,5,6,7,8,9] 左开右闭不包括10

3.2) reshape 用法 np.arange(1,10).reshape((3,3))  从(3,4)改为(4,3)并不是对数组进行转置,而只是改变每个轴的大小,数组元素在内存中的位置并没有改变。新数组元素数量与原数组元素数量要相等。当一个参数为-1时,那么reshape函数会根据另一个参数的维度计算出数组的这个shape属性值。

3.3)随机数组生成   np.random.randint(0, 10, size=(3, 3))  随机生成(3*3)元素在0-10的数的二维数组

https://blog.csdn.net/lyb3b3b/article/details/74852737

3.4) np.array切片

3.5) 特殊矩阵的生成  np.ones((3,3))、np.zeros((3,3))、np.eye(1,1) [单位矩阵]; 还有 a=[1,2,3] np.diag(a) 是生成1,2,3 为对角线的方阵。

3.6)生成某一值的数组: np.full((3, 3), 7, dtype=np.float32)

4、数组和矩阵运算  np.multiply()、np.dot()和星号(*)

4.1) np.multiply()函数,点乘函数,为了矩阵能像数组那样对应位置相乘,给矩阵用的,数组也可以用,输出与相乘数组/矩阵的大小一致,对数组对矩阵都是如此.

A = np.arange(,).reshape(,)
array([[, ],
[, ]]) B = np.arange(,).reshape(,)
array([[, ],
[, ]]) np.multiply(A,B) #数组对应元素位置相乘
array([[ , ],
[ , ]])

矩阵场景:

np.multiply(np.mat(A),np.mat(B))     #矩阵对应元素位置相乘,利用np.mat()将数组转换为矩阵

matrix([[ ,  ],
[ , ]]) np.sum(np.multiply(np.mat(A),np.mat(B))) #输出为标量

4.2)dot,为了数组能像矩阵那样相乘,给数组用的,矩阵也可以用;矩阵乘法。dot就是用来做矩阵乘法的,将数组当作矩阵相乘,数组A的列数=数组B的行数。

4.3) * 该怎么乘就怎么乘

数组就表示数组乘法:数组X数组,直觉:对应位置相乘

矩阵就表示,矩阵乘法,矩阵a的行X矩阵b的列,a的列数!=b的行数,就报错

https://blog.csdn.net/shuiyuejihua/article/details/80148607

5 ndarray取最值及索引

#最值
np.max(a) #全局最大
np.max(a,axis=) #每列最大
np.max(a,axis=) #每行最大 #最值索引
np.argmin(a, axis=0) # 按每列求出最小值的索引
np.argmin(a, axis=1)  # 按每行求出最小值的索引

#python list
list_a_max_list = max(list_a) #返回最大值
max_index = list_a.index(max(list_a)) # 返回最大值的索引

 

python numpy笔记(重要)的更多相关文章

  1. python numpy笔记:给matlab使用者

    利用Numpy,python可以进行有效的科学计算.本文给过去常用matlab,现在正学习Numpy的人. 在进行矩阵运算等操作时,使用array还是matrix?? 简短的回答,更多的时候使用arr ...

  2. CS231n课程笔记翻译1:Python Numpy教程

    译者注:本文智能单元首发,翻译自斯坦福CS231n课程笔记Python Numpy Tutorial,由课程教师Andrej Karpathy授权进行翻译.本篇教程由杜客翻译完成,Flood Sung ...

  3. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  4. 在python&numpy中切片(slice)

     在python&numpy中切片(slice) 上文说到了,词频的统计在数据挖掘中使用的频率很高,而切片的操作同样是如此.在从文本文件或数据库中读取数据后,需要对数据进行预处理的操作.此时就 ...

  5. Python机器学习笔记:使用Keras进行回归预测

    Keras是一个深度学习库,包含高效的数字库Theano和TensorFlow.是一个高度模块化的神经网络库,支持CPU和GPU. 本文学习的目的是学习如何加载CSV文件并使其可供Keras使用,如何 ...

  6. Python机器学习笔记:sklearn库的学习

    网上有很多关于sklearn的学习教程,大部分都是简单的讲清楚某一方面,其实最好的教程就是官方文档. 官方文档地址:https://scikit-learn.org/stable/ (可是官方文档非常 ...

  7. Deep learning with Python 学习笔记(10)

    生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...

  8. Deep learning with Python 学习笔记(9)

    神经网络模型的优化 使用 Keras 回调函数 使用 model.fit()或 model.fit_generator() 在一个大型数据集上启动数十轮的训练,有点类似于扔一架纸飞机,一开始给它一点推 ...

  9. Deep learning with Python 学习笔记(8)

    Keras 函数式编程 利用 Keras 函数式 API,你可以构建类图(graph-like)模型.在不同的输入之间共享某一层,并且还可以像使用 Python 函数一样使用 Keras 模型.Ker ...

随机推荐

  1. AI 积分图

    积分图(Integral Image),可以用于快速计算矩形特征.积分图每个位置(x, y)的值,等于原图对应位置的左上角所有像素点的值之和.因为“积分”在离散情况下就是求和,所以这也是积分图的命名由 ...

  2. D. Artsem and Saunders

    一个变换题 给定f(x),[1,n]->[1,n] 构造g(x),h(x)满足: g(h(x))=x [1,n]->[1,m] h(g(x))=f(x) [1,m]->[1,n] 根 ...

  3. 测试工具使用-Qunit单元测试使用过程

    031302620 应课程要求写一篇单元测试工具的博客,但是暂时没用到java,所以不想使用junit(对各种类都不熟悉的也不好谈什么测试),原计划是要用phpunit,但是安装经历了三个小时,查阅各 ...

  4. windows 命令行操作 Mysql 数据库

    1 前言 有接手一个新项目,项目中到了 Mysql 数据库 ,这里总结下 windows 命令行操作 Mysql 数据库. 2 Cmd操作数据库 2.1 连接Mysql服务器,命令如下:(root用户 ...

  5. 【redis】windows 怎样关闭redis

    安装redis之后在命令行窗口中输入 redis-server redis.windows.conf 启动redis关闭命令行窗口就是关闭 redis.---redis作为windows服务启动方式r ...

  6. 机器学习第一篇——最近邻kNN

    机器学习监督学习中,根据解决问题的连续性和离散型,分为分类问题和回归问题.最邻近算法kNN是一种最为直接和简便的分类方法. kNN本质上,是计算目标到模型的欧式距离,从而判定目标所属的类别. 首先,在 ...

  7. 安装SQL Server时,提示VS Shell 安装失败,退出代码为 1638。

    在安装SQL Server时,提示“安装 Microsoft Visual C++ 2015 Redistributable 时出错VS Shell 安装失败,退出代码为 1638”. 原因:是由于你 ...

  8. scrapy框架原理学习

    Scrapy框架原理: 参考出处:https://cuiqingcai.com/3472.html 整个Scrapy的架构图: Scrapy Engine: 这是引擎,负责Spiders.ItemPi ...

  9. 利用tushare进行对兴业银行股价的爬取,并使用numpy进行分析

    import sysimport tushare as tsimport numpy as npdata=ts.get_h_data('601066')print(data)#读出兴业银行7列数据da ...

  10. python文件、文件夹的移动、复制、删除、重命名

    import os.path ,shutil shutil.copytree("G://qqfile","G://new_qqfile")# 第一个是原来的文件 ...