1、数组的形状

查看数组的形状:

import numpy as np

a = np.array([[1, 2, 3, 4, 5],
[5, 6, 7, 8, 9]])
print(a.shape)

(2, 5)

二行五列

改变数组的形状:

import numpy as np

a = np.array([[1, 2, 3, 4, 5],
[5, 6, 7, 8, 9]])
print(a.reshape(5, 2)) # 这里注意改变形状所对应的元素个数必须一样 5*2=10个

[[1 2]

[3 4]

[5 5]

[6 7]

[8 9]]

再比如:

import numpy as np

a = np.arange(24)
print(a.reshape(2, 3, 4)) # 这里注意改变形状所对应的元素个数必须一样 2*3*4=24个

[[[ 0 1 2 3]

[ 4 5 6 7]

[ 8 9 10 11]]

[[12 13 14 15]

[16 17 18 19]

[20 21 22 23]]]

转化为一维度数组:

import numpy as np

a = np.arange(24)
print(a.flatten())

[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]

2、数组和数的计算

numpy具有广播机制,在运算过程中,加减乘除的值被广播到所有元素上

广播机制的理解:我通过广播说一句话,大家全部听见来进行我说的操作

数组与数的内容中:乘除和线代内容差不多(除法稍微注意即可),但加减略有不同

import numpy as np

a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
print(a+1)

[[ 2 3 4]

[ 5 6 7]

[ 8 9 10]]

关于数组与数组的加减乘除中,只需要记住:

比如:

import numpy as np

a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]) # 3*3 b = np.array([[9, 8, 7]]) # 1*3
print(a*b)

[[ 9 16 21]

[36 40 42]

[63 64 63]]

import numpy as np

a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]) # 3*3 b = np.array([[9, 8, 7],
[6, 5, 4]]) # 2*3
print(a+b)

ValueError: operands could not be broadcast together with shapes (3,3) (2,3)

3、轴

了解即可

在numpy中可以理解为方向,使用0,1,2...数字表示,对于一个一维数组,只有一个0轴,对于2维数组(shape(2,2)),有0轴和1轴,对于三维数组(shape(2,2, 3)),有0,1,2轴

numpy数组的计算的更多相关文章

  1. numpy数组常用计算

    在说numpy库数组的计算之前先来看一下numpy数组形状的知识: 创建一个数组之后,可以用shape来查看其形状,返回一个元组 例如:a = np.array([[1, 2, 3], [4, 5, ...

  2. numpy 数组的计算

    一.数组和数的计算 数组和数计算,数组中的每个元素和数进行计算 1.加 import numpy as np arr1 = np.arange(12).reshape(3, 4) print(arr1 ...

  3. Python数据科学手册-Numpy数组的计算,通用函数

    Python的默认实现(CPython)处理某些操作非常慢,因为动态性和解释性, CPython 在每次循环必须左数据类型的检查和函数的调度..在编译是进行这样的操作.就会加快执行速度. 通用函数介绍 ...

  4. Python数据科学手册-Numpy数组的计算:比较、掩码和布尔逻辑,花哨的索引

    Numpy的通用函数可以用来替代循环, 快速实现数组的逐元素的 运算 同样,使用其他通用函数实现数组的逐元素的 比较 < > 这些运算结果 是一个布尔数据类型的数组. 有6种标准的比较操作 ...

  5. Python数据科学手册-Numpy数组的计算:广播

    广播可以简单理解为用于不同大小数组的二元通用函数(加减乘等)的一组规则 二元运算符是对相应元素逐个计算 广播允许这些二元运算符可以用于不同大小的数组 更高维度的数组 更复杂的情况,对俩个数组的同时广播 ...

  6. NumPy(数组计算)

    一.介绍 NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. 1.主要功能 1)ndarray,一个多维数组结构,高效且节省空间2)无需循环对整组数据进行快速运算的数 ...

  7. numpy——基础数组与计算

    In [1]: import numpy as np In [11]: # 创建数组 a = np.array([1,2,3,4,5]) In [12]: a Out[12]: array([1, 2 ...

  8. Numpy.frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数

    Numpy.frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数 不再通过遍历,对数组中的元素进行运算,利用frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数 ...

  9. 科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数)

    Mlab了解 Mlab是Mayavi提供的面向脚本的api,他可以实现快速的三维可视化,Mayavi可以通过Mlab的绘图函数对Numpy数组建立可视化. 过程为: .建立数据源 .使用Filter( ...

随机推荐

  1. oh,我的老伙计,你看看这近五十个dapr视频

    oh,我的老伙计,你看看这近五十个 dapr 视频.这不就是你想要的视频资料吗?快来捡走吧! 开始了,但是没完全开始 Dapr 是一个可移植的.事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的. ...

  2. Maven专题1——坐标与依赖

    1. 坐标 坐标用来唯一定位一个Maven构件: GAV(必需):groupId, artifactId, version packaging(可选): 可取值如:jar(缺省), war, pom, ...

  3. HiveServer2的负载均衡高可用与ActicePassive高可用浅析

    负载均衡的高可用 最近在工作中遇到了hiveserver2需要部署高可用的场景,去网上搜索了解过后,用了绝大多数人推荐的共同方法: Property_name Property_value Descr ...

  4. 【C++】特殊字符“\0”,以及NULL相关

    我们都知道,'\0'是字符串的结束标记.因此,执行这段代码: #include<bits/stdc++.h> using namespace std; int main(){ cout&l ...

  5. html jquey的选择器checkbox,select

    1 判断checkbox是否选中 用到 jquery的 is方法 jquery: <div id="divId" class="divTable"> ...

  6. Shell系列(29)- 单分支if语句格式

    单分支if条件语句 if [ 条件判断 ] ;then 程序 fi 或者 if [ 条件判断 ] then 程序 fi 注意点 if语句使用fi结尾,和一般语言使用大括号结尾不同 [ 条件判断 ]就是 ...

  7. 怎么通俗的理解Netty呢?

    目录 Netty(3.X) 简单体验 Netty的事件驱动机制 Netty的源码阅读 Netty(3.X) 有了Netty,你可以实现自己的HTTP服务器,FTP服务器,UDP服务器,RPC服务器,W ...

  8. php curl 发送post请求

    PHP curl_init函数 resource curl_init ([ string $url = NULL ] ) 初始化一个新的会话,返回一个cURL句柄,供curl_setopt(), cu ...

  9. c++ 的学习 第二集函数的重载之3 -利用IDA分析bebug里面

    1. 对项目右击,在文件资源管理器中打开文件夹 2.看debug里面的.exe     这个文件 函数的真实的名字 打开.exe文件就是还是显示,,, 3.debug模式有太多的断点信息还有许多不精简 ...

  10. P4585-[FJOI2015]火星商店问题【线段树,可持久化Trie】

    正题 题目链接:https://www.luogu.com.cn/problem/P4585 题目大意 \(n\)个集合,开始每个集合中有一个数字. 开启新的一天并且往集合\(s\)中插入数字\(v\ ...