继上篇讲过numpy如何构建多维数组之后,今天我们来学习numpy多维数组的用法。

加法和减法操作要求操作双方的维数信息一致,均为M*N为数组方可正确执行操作。

a = np.arange(4)

输出:

array([0, 1, 2, 3])

b = a**2

输出:

array([0, 1, 4, 9])

c = 10*np.sin(a)

输出:

array([ 0.  , 8.41470985, 9.09297427, 1.41120008])

n < 35

输出:

array([ True, True, True, True], dtype=bool)

A = np.array([[1,1],[0,1]])

B = np.array([[2,0],[3,4]])

C = A * B # 元素点乘

输出:

array([[2, 0],

[0, 4]])

D = A.dot(B) # 矩阵乘法

输出:

array([[5, 4],

[3, 4]])

E = np.dot(A,B) # 矩阵乘法

输出:

array([[5, 4],

[3, 4]])

多维数组操作过程中的类型转换

When operating with arrays of different types, the type of the resulting array corresponds to the more general or precise one (a behavior known as upcasting)

即操作不同类型的多维数组时,结果自动转换为精度更高类型的数组,即upcasting

a = np.ones((2,3),dtype=int)  # int32

b = np.random.random((2,3))  # float64

b += a # 正确

a += b # 错误a = np.ones(3,dtype=np.int32)

b = np.linspace(0,pi,3)

c = a + b

d = np.exp(c*1j)

输出:

array([ 0.54030231+0.84147098j, -0.84147098+0.54030231j,

-0.54030231-0.84147098j])

d.dtype.name

输出:

'complex128'

多维数组的一元操作,如求和、求最小值、最大值等

a = np.random.random((2,3))

a.sum()

a.min()

a.max()

b = np.arange(12).reshape(3,4)

输出:

array([[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

b.sum(axis=0) # 按列求和

输出:

array([12, 15, 18, 21])

b.sum(axis=1) # 按行求和

输出:

array([ 6, 22, 38])

b.cumsum(axis=0) # 按列进行元素累加

输出:

array([[ 0, 1, 2, 3],

[ 4, 6, 8, 10],

[12, 15, 18, 21]])

b.cumsum(axis=1) # 按行进行元素累加

输出:

array([[ 0, 1, 3, 6],

[ 4, 9, 15, 22],

[ 8, 17, 27, 38]])

universal functions

B = np.arange(3)

np.exp(B)

np.sqrt(B)

C = np.array([2.,-1.,4.])

np.add(B,C)

其他的ufunc函数包括:

all, any, apply_along_axis, argmax, argmin, argsort, average, bincount, ceil, clip, conj, corrcoef, cov, cross, cumprod, cumsum, diff, dot, floor,inner, lexsort, max, maximum, mean, median, min, minimum, nonzero, outer, prod, re, round, sort, std, sum, trace, transpose, var,vdot, vectorize, where

以上就是Python中numpy多维数组的用法。更多Python学习推荐:PyThon学习网教学中心。

python中numpy的用法_Python中numpy多维数组的用法相关推荐

  1. python取前三位_Python 实现取多维数组第n维的前几位

    Python 实现取多维数组第n维的前几位 现在我们有一个shape为(7352, 9, 128, 1)的numpy数组. 想要取出第2维的前三个数据,构成新数组(7352, 3, 128, 1) 我 ...

  2. python三维变量合并_Python reshape的用法及多个二维数组合并为三维数组的实例

    reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变.是对每行元素进行处理 resize(shape) : 与.reshape()功能一致,但修改原数组 In [ ...

  3. python二维数组变成三维数组_Python reshape的用法及多个二维数组合并为三维数组的实例...

    reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变.是对每行元素进行处理 resize(shape) : 与.reshape()功能一致,但修改原数组 In [ ...

  4. boost::python模块包装几个 C++ 函数 将二维数组操作为采用 NumPy 数组的 Python 函数作为参数

    boost::python模块包装几个 C++ 函数 将二维数组操作为采用 NumPy 数组的 Python 函数作为参数 实现功能 C++实现代码 实现功能 boost::python模块包装几个 ...

  5. c语言二维数组中的周边,【C语言】二维数组中的查找,杨氏矩阵

    //二维数组中的查找,杨氏矩阵 //在一个二维数组中,每行都依照从左到右的递增的顺序排序.每列都依照从上到下递增的顺序排序. //请完毕一个函数.输入这种一个数组和一个数,推断数组中是否包括这个数. ...

  6. 算法013:二维数组中的查找-在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断中是否存在

    题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.示例: 现有 ...

  7. Java中二维数组的用法(不定长二维数组)

    Java中二维数组的用法(不定长二维数组),即每个第二维的数组长度不一样. 1>代码如下: package com.demo.test;public class Test {public Tes ...

  8. python中tile的用法_Python:numpy中的tile函数

    在学习机器学习实教程时,实现KNN算法的代码中用到了numpy的tile函数,因此对该函数进行了一番学习: tile函数位于python模块 numpy.lib.shape_base中,他的功能是重复 ...

  9. python中array的用法_Python中的numpy.array()用法

    齐次多维数组是NumPy的主要对象.它基本上是一个元素表, 这些元素都是相同类型的, 并由一个正整数元组索引.尺寸在NumPy中称为轴. NumPy的数组类称为ndarray或别名数组. numpy. ...

最新文章

  1. 懒加载实现的分页网站footer自适应
  2. idea CRLF LF 编码问题,解决保存时自动更改换行符
  3. linux树莓派连接wifi密码,树莓派连接WiFi,不使用界面,多WiFi切换
  4. 使用pil读取gif图有些位置为黑色_使用 Pillow 快速创建 GIF 动图
  5. 阿里达摩院420集python_阿里达摩院推荐的420集的python教程,入门到精通简直不要太简单...
  6. GfK十大洞见揭示物联网时代正全面开启
  7. 紧密中心度(Closeness Centrality)
  8. 按键精灵_字符串提取
  9. python简单小游戏代码教程-python简单小游戏代码 怎么用Python制作简单小游戏
  10. 笔记本连不上网(IPV4和IPV6无网络访问权限)解决方法
  11. 计算机程序计算排列组合(规避溢出)
  12. 什么软件适合团队协作?团队协作工具排行
  13. 字体图标在ie兼容问题(element低版本icon)(图标在ie浏览器不显示)
  14. 计算机等级考试一级在线模拟,全国计算机等级考试一级模拟试题1
  15. c语言输出字符的十六进制,用c语言输入键盘上的字符后转换成十六进制输出
  16. Navicat for Mysql注册(Navicat 8.2 MySQL 8.2.17注册码)写入注册码后,点不动确认键
  17. 计算机打开没有磁盘管理员权限设置,win10专业版中更改磁盘没有权限“需要管理员权限”...
  18. php实现wav转mp3,php实现将wav文件转换成图像文件并在页面中显示的方法
  19. Unity shader 入门之渲染管线三、空间转换
  20. Codeforces 1065 简要题解

热门文章

  1. nodejs文件写入
  2. web前端基础(12js基础介绍)
  3. mfc formview中的关闭视图函数_VC|API消息处理(回调函数+分支语句)与MFC中的消息映射函数...
  4. Hadoop(六)搭建分布式HBase集群
  5. ios 点生成线路 百度地图_网站地图全面解析
  6. linux 游戏 黑白,黑白迭代官方版游戏-黑白迭代下载v0.5-Linux公社
  7. linux系统可以使用ppt功能不,Linux操作系统使用5.ppt
  8. Microsoft Blazor Platz.SqlForms开源——使用架构生成器设计和维护SQL Server数据库
  9. 学习3D图形引擎中使用的基本数学
  10. 我们不再需要 Chrome?