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轴

最新文章

  1. Swift3.0P1 语法指南——闭包
  2. C++ int与string的转化
  3. TJI读书笔记14-闭包与回调
  4. HDU 2846 (AC自动机+多文本匹配)
  5. Learn ZYNQ (3)
  6. C#关于静态与非静态的区别
  7. java的Serialization 机制
  8. struts2文件异步上传
  9. pcap文件格式
  10. ASI进行POST网络请求
  11. Oracle 特殊字符模糊查询的方法
  12. jquery下 选择器整理
  13. [Bayesian] “我是bayesian我怕谁”系列 - Naive Bayes+prior
  14. 2017最新PHP面试题
  15. [记录]Shell中的getopts和getopt用法
  16. linux iio子系统
  17. vue页面传参和接参
  18. 介绍HTTP协议的传输过程
  19. Activity Window View WindowManager关系&Touch事件分发机制
  20. AndroidStudio配置LitePal

热门文章

  1. oh,我的老伙计,你看看这近五十个dapr视频
  2. clickonce的密钥到期问题处理
  3. 关于软链接ln -s 的使用
  4. uni-app开发基本知识点
  5. Dapr实战(一) 基础概念与环境搭建
  6. PHP中的PDO对象操作学习(一)初始化PDO及原始SQL语句操作
  7. 苹果手机input输入文字消失,看不见
  8. springboot多数据源配合docker部署mysql主从实现读写分离
  9. centos 关于yum无法使用
  10. nodejs安装 及环境变量配置教程 超详细版