01-numpy的简介及array的创建
numpy是 Python 语言的一个c扩展程序库,支持大量的维度数组与矩阵运算,对数组运算提供大量的数学函数库,对数据的处理有极高的效率,也经常被作为其他数据处理模块的底层模块。
numpy相关博文的开发环境:
python 3.6
jupyter notebooks
安装
# 安装命令
pip install numpy
# 安装完成后,在jupyter中输入以下命令进行测试
import numpy as np
np.__version__
成功打印出版本号则代表安装成功,接下来就可以正式进入numpy的学习了
tip:
如果运行时,已经使用pip安装但是仍然报以下错误:
--------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) <ipython-input-1-8c27a98e4621> in <module> ----> 1 import numpy as np 2 np.__version__ ModuleNotFoundError: No module named 'numpy'
则可以使用以下代码判断python包的引入位置,查看jupyter中使用的python环境位置:
import sys sys.path
array对象
array对象是numpy的核心对象,可以是一维也可以是多维的,与pyhton的list比较类似,但拥有更好的性能,通常比python执行速度快1-3个数量级,也拥有更多的数据处理函数,不过numpy中array内的元素必须是同一种数据类型。
array对象的创建
array的创建主要包括两种方式:
使用python的list进行创建
使用array提供的函数进行创建,创建的函数主要有:
arange、ones、zero、empty、full、randn ,除了randn外其他函数均提供有相应的_like方法
1. 使用python的list进行创建
import numpy as np
x = np.array([1,2,3,4,5,6,7,8])
y = np.array([
[1,2,3,4,5,6,7,8],
[1,2,3,4,5,6,7,8]
])
打印结果:
2. 使用numpy提供的函数进行创建
arange创建数字序列
# arange([start,] stop[, step,], dtype=None) np.arange(10) np.arange(2,10) np.arange(2, 10, 2)
ones创建值全是1的数组
# np.ones(shape, dtype=None, order='C') np.ones(10) np.ones((2,3))
ones_like创建与其他数据形状相同,值为0的数组
# ones_like(a, dtype=float, order='C') np.ones_like(x) np.ones_like(y)
zero创建全是0的数组
# np.zeros(shape, dtype=None, order='C') np.zeros(10) np.zeros((2,4))
zero_like创建形状相同,值全为1的数组
# np.zeros_like(a, dtype=None) np.zeros_like(x) np.zeros_like(y)
empty创建值为0的数组,
其中的数据未初始化,可能为随机值
# empty(shape, dtype=float, order='C') np.empty(10)
empty_like
np.empty_like(y)
full创建指定值的数组
# np.full(shape, fill_value, dtype=None, order='C') np.full(10,22) np.full((2,4), 33)
full_like
np.full_like(x, 66)
randn生成随机数的数组
# randn(d0, d1, ..., dn) np.random.randn() np.random.randn(3) np.random.randn(3,2) np.random.randn(3, 2, 4)
License:
CC BY 4.0