前语
之前咱们运用matplotlib制作了不一样的图形,其实在咱们的制作图像时,咱们输入的数据都是经过处理之后再经过matplotlib以及pillow进行制作的。咱们在制作图形的脚本里,引入了一个对数组执行数学运算和相关逻辑运算的第三方库——Numpy,当然numpy功用不止于此,它仍是python科学核算的根底库,现在咱们就来介绍一下numpy的运用。
装置
因为numpy是Python的第三方库,所以咱们需要自行装置,装置完结之后才能够运用,装置只需要一条命令:
pip install numpy
注:numpy通常会结合SciPy 程序包一同运用,SciPy 能够看做对 NumPy 库的扩展,它在 NumPy 的根底上又增加了许多工程核算函数。
Numpy ndarray目标
NumPy 界说了一个 n 维数组目标,简称 ndarray 目标,它是一个一系列相同类型元素组成的数组调集。数组中的每个元素都占有大小相同的内存块,您能够运用索引或切片的方式获取数组中的每个元素。
ndarray 目标采用了数组的索引机制,将数组中的每个元素映射到内存块上,而且依照必定的布局对内存块进行排列,常用的布局方式有两种,即按行或者按列。
创立ndarray目标
Numpy供给了内置函数array()来创立ndarray,语法格局如下:
numpy.array(object, dtype = None, copy = True, order = None,ndmin = 0)
参数阐明:
参数 | 描绘阐明 |
---|---|
object | 表明一个数组序列 |
dtype | 可选参数,经过它能够更改数组的数据类型 |
copy | 可选参数,表明数组能否被复制,默许是 True |
order | 以哪种内存布局创立数组,有 3 个可选值,分别是 C(行序列)/F(列序列)/A(默许) |
ndim | 用于指定数组的维度 |
创立一维数组
import numpy as np
a = np.array([11, 10, 9])
print(a)
print(type(a))
-------------------------
输出成果如下:
[11 10 9]
<class 'numpy.ndarray'>
创立多维数组
import numpy as np
a = np.array([[11, 10, 9],[6, 7, 8]])
print(a)
print(type(a))
---------------
输出成果如下:
[[11 10 9]
[ 6 7 8]]
<class 'numpy.ndarray'>
改动数组元素的数据类型,能够运用设置 dtype
c=numpy.array([2,4,6,8],dtype=”数据类型称号”)
现在咱们将数组中的元素改为字符串类型,如下:
import numpy as np
c=np.array([2,4,6,8],dtype="str")
print(c)
-------------------
输出成果如下:
['2' '4' '6' '8']
检查数组维数
咱们能够经过ndim检查数组的维度
import numpy as np
arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 23]])
print(arr.ndim)
--------------------
输出成果如下:
2
创立指定维度数组
运用 ndim 参数能够创立不同维度的数组
import numpy as np
a = np.array([1, 2, 3,4,5], ndim = 2)
print(a)
------------------------------------
输出成果如下:
[[1 2 3 4 5]]
数组变维
数组的形状指的是多维数组的行数和列数。Numpy 模块供给 reshape() 函数能够改动多维数组行数和列数,然后达到数组变维的目的,如下图:
reshape() 函数能够接受一个元组作为参数,用于指定了新数组的行数和列数,示例如下:
import numpy as np
e = np.array([[11,12],[13,14],[15,16]])
print("原数组",e)
e=e.reshape(2,3)
print("新数组",e)
----------------------------
输出成果如下:
原数组 [[11 12]
[13 14]
[15 16]]
新数组 [[11 12 13]
[14 15 16]]
总结
本文首要介绍了numpy模块的装置以及数组的一些常用方法,后续咱们将介绍numpy的数据类型。