numpy初识

什么叫numpy

NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))
NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA用其处理一些本来使用C++,Fortran或Matlab等所做的任务。

从一张图片上去认识numpy

import numpy as np
# matplotlib画图的,也可以读取图片
import matplotlib.pylot as plt

#读取一张图片
cat = plt.imread('cat.png')
# 查看这张图片的维度
cat.shape
# 展示这张图片
plt.imshow(cat)

什么是ndarray

ndarray是numpy的最重要的形式,表示的是n个维度的数组
上个例子的cat的类型就是ndarray
Numpy的数值类型

  • bool:布尔类型,1 个字节,值为 True 或 False。
  • int:整数类型,通常为 int64 或 int32 。
  • intc:与 C 里的 int 相同,通常为 int32 或 int64。
  • intp:用于索引,通常为 int32 或 int64
  • int8:字节(从 -128 到 127)
  • int16:整数(从 -32768 到 32767)
  • int32:整数(从 -2147483648 到 2147483647)
  • int64:整数(从 -9223372036854775808 到 9223372036854775807)
  • uint8:无符号整数(从 0 到 255) unsigned
  • uint16:无符号整数(从 0 到 65535)
  • uint32:无符号整数(从 0 到 4294967295)
  • uint64:无符号整数(从 0 到 18446744073709551615)
  • float:float64 的简写。
  • float16:半精度浮点,5 位指数,10 位尾数
  • float32:单精度浮点,8 位指数,23 位尾数
  • float64:双精度浮点,11 位指数,52 位尾数
  • complex:complex128 的简写。
  • complex64:复数,由两个 32 位浮点表示。
  • complex128:复数,由两个 64 位浮点表示。

Numpy中,ndarray类的六个参数

  1. shape:数组的形状
  2. dtype:数据类型。
  3. buffer:对象暴露缓冲区接口。
  4. offset:数组数据的偏移量
  5. strides:数据步长。
  6. order:{‘C’,’F’},以行或列为主排列顺序。

创建ndarray的一些方法

从列表或元组转换

在 numpy 中,我们使用 numpy.array 将列表或元组转换为 ndarray 数组。其方法为:
numpy.array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)
其中,参数:
- object:列表、元组等。
- dtype:数据类型。如果未给出,则类型为被保存对象所需的最小类型。
- copy:布尔来写,默认 True,表示复制对象。

import numpy as np
l = list('123456')
nd1 = np.array(l)

arange方法创建

arange() 的功能是在给定区间内创建一系列均匀间隔的值。

import numpy as np
#numpy.arange(start, stop, step, dtype=None)
nd1 = np.arange(0,150,step=5,dtype=np.float32)

linspace 方法创建

inspace用于在指定的区间内返回间隔均匀的值

import numpy as np
#numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
nd = np.linspace(0,150,num=151)

ones 方法创建

用于快速创建数值全部为 1 的多维数组

import numpy as np
#numpy.ones(shape, dtype=None, order='C')
nd = np.ones(shape=(456,730,3))

zeros 方法创建

zeros 方法和上面的 ones 方法非常相似,不同的地方在于,这里全部填充为 0

import numpy as np
#numpy.zeros(shape, dtype=None, order='C')
nd = np.zeros(shape=(456,730,3))

full方法创建

numpy.full用于创建一个自定义形状的数组,可以自己指定一个值,该值填满整个矩阵。

import numpy as np
#numpy.full(shape,fill_value=num)
nd = np.full(shape=(456,730,3),fill_value=125.0)

eye 方法创建

numpy.eye 用于创建一个二维数组,其特点是k 对角线上的值为 1,其余值全部为0

import numpy as np
#numpy.eye(N, M=None, k=0, dtype=<type 'float'>)  
nd =  np.eye(5,5)

猜你喜欢

转载自blog.csdn.net/qq_40861391/article/details/80670354