第二天——Numpy的入门和实战
第二天——Numpy的入门和实战
一、NumPy 简介
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
- 一个强大的N维数组对象 ndarray
- 广播功能函数
- 整合 C/C++/Fortran 代码的工具
- 线性代数、傅里叶变换、随机数生成等功能
应用
NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。
SciPy 是一个开源的 Python 算法库和数学工具包。
SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。
二、Ndarray 对象(np.array()创建数组)
创建一个 ndarray 只需调用 NumPy 的 array 函数即可:
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
参数
名称 | 描述 |
---|---|
object | 数组或嵌套的数列 |
dtype | 数组元素的数据类型,可选 |
copy | 对象是否需要复制,可选 |
order | 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) |
subok | 默认返回一个与基类类型一致的数组 |
ndmin | 指定生成数组的最小维度 |
实例
接下来可以通过以下实例帮助我们更好的理解。
示例 1
import numpy as np
a = np.array([1,2,3])
print (a)
输出结果如下:
[1, 2, 3]
示例 2
# 多于一个维度
import numpy as np
a = np.array([[1, 2], [3, 4]])
print (a)
输出结果如下:
[[1, 2]
[3, 4]]
示例 3
# 最小维度
import numpy as np
a = np.array([1, 2, 3,4,5], ndmin = 2)
print (a)
输出如下:
[[1, 2, 3, 4, 5]]
示例 4
# dtype 参数
import numpy as np
a = np.array([1, 2, 3], dtype = complex)
print (a)
输出结果如下:
[ 1.+0.j, 2.+0.j, 3.+0.j]
ndarray 对象由计算机内存的连续一维部分组成,并结合索引模式,将每个元素映射到内存块中的一个位置。内存块以行顺序(C样式)或列顺序(FORTRAN或MatLab风格,即前述的F样式)来保存元素。
三、常用的创建数组的函数
zeros函数
# zeros函数
np.zeros(8)
array([ 0., 0., 0., 0., 0., 0., 0., 0.])
np.zeros((3,4))
array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
ones函数
np.ones(4)
array([ 1., 1., 1., 1.])
np.ones((4,6))
array([[ 1., 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1., 1.]])
empty
empty函数可以创建一个无意义值的数组
np.empty((2,2,2))
array([[[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.]]])
arange
arange函数类似于python的内置函数range,但是arange主要用于创建数组
np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
ones_like
ones_like可以根据传入的数组形状和dtype创建全1数组
arr3
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
arr5 = np.ones_like(arr3)
arr5
array([[1, 1, 1, 1],
[1, 1, 1, 1]])
arr5.dtype
dtype('int32')
文章选自: http://jsrun.net/t/dzpKp.
http://jsrun.net/t/FzpKp
总结
以上就是今天学习的内容,今天简单学习了Numpy的使用,如果你也想自学数据分析,与博主一起交流进步,那就快来关注博主吧。
希望通过发布这些文章可以见证博主学习的过程,同时找到一些志同道合的朋友可以一起交流进步,博主会坚持持续更新的。
第三天——数据类型:https://blog.csdn.net/qq_49225295/article/details/112798593.