立即登录

注册账号

联系我们

2022年6月1日 08:19

1. Numpy入门

NumPy 是 Python 中科学计算的基础包。它是一个 Python 库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种例程,包括数学、逻辑、形状操作、排序、选择、I/O 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。

  • NumPy 数组在创建时具有固定大小,这与 Python 列表(可以动态增长)不同。更改ndarray的大小将创建一个新数组并删除原始数组。

  • NumPy 数组中的元素都必须具有相同的数据类型,因此在内存中的大小相同。例外:可以有(Python,包括 NumPy)对象的数组,从而允许不同大小元素的数组。

  • NumPy 数组有助于对大量数据进行高级数学运算和其他类型的运算。通常,与使用 Python 的内置序列相比,此类操作的执行效率更高,代码更少。

  • 越来越多的基于 Python 的科学和数学软件包正在使用 NumPy 数组;尽管这些通常支持 Python 序列输入,但它们会在处理之前将此类输入转换为 NumPy 数组,并且它们通常会输出 NumPy 数组。换句话说,为了有效地使用当今许多(甚至大部分)基于 Python 的科学/数学软件,仅仅知道如何使用 Python 的内置序列类型是不够的——还需要知道如何使用 NumPy 数组。

NumPy ( Numerical Python ) 是一个开源 Python 库,几乎用于所有科学和工程领域。它是在 Python 中处理数值数据的通用标准,也是科学 Python 和 PyData 生态系统的核心。NumPy 用户包括从初学者到从事最先进科学和工业研发的经验丰富的研究人员的所有人。NumPy API 广泛用于 Pandas、SciPy、Matplotlib、scikit-learn、scikit-image 和大多数其他数据科学和科学 Python 包中。

 

什么是数组:

数组 数据结构 广泛应用于C语言 java等
数组执行各种数学运算。它为 Python 添加了强大的数据结构,以保证使用数组和矩阵进行高效计算
并且它提供了一个庞大的高级数学函数库,可对这些数组和矩阵进行操作。

如何导入numpy

import numpy as np
# 把Python列表通过np.array()方法转换成数组,同时固定了元素的数据类型
np.array([1,2,3,4,5])
# 用np.arange()直接生成数组, arange()和Python中的range()使用完全相同
np.arange(1,8,3)
# 索引与切片 与列表的索引与切片相同
a = np.arange(1,11)
a[6] # 索引 index 下标

# 切片 包含左,不包含右(之前)
a[2:6] # 规律一共几个数? 结束-开始

二维数组

# 0. 创建2维数组
# 2行3列  2X3  (2,3)
import numpy as np
np.array([[1,2,3],[4,5,6]]) 
# 如何知道一个数组的形状 shape属性
a = np.array([[1,2,3],[4,5,6]]) 
a.shape

练习

# 练习 1维数组
a = np.arange(6)
print(a)
print(a.shape) # (6,)
# 2维数组 小技巧: 最外层的括号,
a = np.array([[1,2,3,4,5,6]])
a.shape
a = np.array([[1],[2],[3],[4],[5],[6]])
a.shape

# 创建一些特殊的数组
# 1. 都是1的数组
# 2. 都是0的数组
# 3. 对角线为1的数组
# 2维数组,每一个元素长度必须相同
# 行:最外层层中有几个元素,列元素中有几个对象

# 创建一个1维数组,6个1
np.ones(6)
np.zeros((5,3))
np.eye(5)
#  平均划分一个空间,理解为从0米到10米种9棵树的问题
np.linspace(0,10,9)
# 数据类型 比Python多了一个范围
# int32的数值取值范围为-2147483648到2147483647;
# int64的数值取值范围为-9223372036854775808到9223372036854775808。
np.ones((2,3),dtype='int32')

 

留言

给我留言