4.科学计算模块Numpy(1)概述与初始操作

引言

我们想通过Python去学习人工智能,不可避免地要对大量的数据进行操作。在大批量的数据处理下,如果只是人为手动地修改数据信息,未免效率太低。今天我们就来介绍数据科学领域当中至关重要的一个库:Numpy

通过阅读本篇博客,你可以:

1.了解什么是Numpy

2.掌握如何使用Numpy创建数组

一、Numpy的定义与概述

Numpy(Numerical Python)是科学计算基础库,提供大量科学计算相关功能,比如数据统计、随机数生成等等。其提供的最核心类型是多维数组类型(ndarray),它能够支持大量的维度数组与矩阵运算,Numpy支持向量处理ndarray对象,提高程序运算速度。

在学习人工智能时,掌握Numpy是非常重要的。以下是一些关键原因:

1.高效的数组操作:NumPy 提供了高效的多维数组(ndarray)对象,可以进行快速的数学运算和数据处理。这种数组比 Python 原生的列表要高效得多,特别是在处理大量数据时。

2.广泛应用:许多机器学习和深度学习库(如 TensorFlow、PyTorch、Scikit-Learn)都依赖于 NumPy,尤其是在底层实现中。掌握 NumPy 有助于你理解这些库的工作原理。

3.数学运算:NumPy 提供了许多数学函数和线性代数运算,比如矩阵乘法、特征值分解等,这些在机器学习算法和数据分析中经常用到。

4.数据预处理:在进行数据分析和预处理时,NumPy 的功能可以帮助你对数据进行有效的操作和转换,为后续的模型训练和分析做好准备。

5.性能:NumPy 是用 C 语言编写的,因此它在执行数值运算时比纯 Python 代码要快得多,这在处理大规模数据时尤为重要。

总结:NumPy 是数据科学和机器学习的基础工具之一,掌握它可以帮助你更好地理解和处理数据,从而提升你的人工智能项目的效率和效果。

二、Numpy环境搭建

首先,我们先下载环境,在我们的电脑终端或者Anaconda中输入指令:

pip install numpy

这样我们就将Numpy这个库安装在了本地。我们就可以在解释器中导入Numpy库并且使用它。

import numpy as np

我们通常将numpy导入后将其命名为np,这样的操作更方便之后的使用。

三、Numpy中数组的创建

1.np.arange()的创建

numpy模块中的arange函数可以通过传入数值范围并返回ndarray对象的方式创建数组。

np.arange()的语法格式如下:

​np.arange(start=0,stop,step=1,dtype)

①start:序列的起始值。生成的数组将从这个值开始,默认为0。

②stop:序列的终止值。生成的数组将包括小于 stop 的所有值。

③step:步长,表示两个相邻值之间的差距,默认为 1。如果 step 为负数,start 必须大于 stop。

④dtype:指定元素的数据类型。如果不提供数据类型的话,它会自动识别。

以下是部分参数的示例:

import numpy as np

# 生成从 0 到 9 的整数数组
a = np.arange(10)
print(a)  # [0 1 2 3 4 5 6 7 8 9]

# 生成从 1 到 9 的整数数组
b = np.arange(1, 10)
print(b)  # [1 2 3 4 5 6 7 8 9]

# 生成从 1 到 9 的步长为 2 的整数数组
c = np.arange(1, 10, 2)
print(c)  # [1 3 5 7 9]

# 生成从 1 到 2 的浮点数数组,步长为 0.1
d = np.arange(1, 2, 0.1)
print(d)  # [1.  1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9]

# 指定数据类型为浮点数
e = np.arange(1, 5, dtype=np.float64)
print(e)  # [1. 2. 3. 4.]

2.np.array()的创建

numpy模块中的array函数可以生成多维数组。比如我们要生成一个二维数组,就需要像array函数传递一个列表类型的参数。每一个列表是一维的ndarray类型数组,作为二维数组的行。

np.array()的语法格式如下:

np.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0)

①object:要转换为数组的对象。可以是列表、元组、列表的列表等各种可以转化为数组的对象。

②dtype:指定元素的数据类型。如果不提供数据类型的话,它会自动识别。

③copy:布尔值,是否复制数据。默认是True,就是会创建数据的副本。

④order:字符类型的选项,可以用于指定多维数组的存储顺序。“C”是行优先顺序,“F”是列方向顺序,默认是“A”(实际就是行优先顺序)。

⑤subok:布尔值,表示是否返回子类的数组。如果设置为 True,那么如果输入对象是某个子类的实例,返回的数组会是该子类的实例。默认为 False,返回的是标准的 ndarray 对象。

⑥ndmin:整数,指生成数组的最小维度。如果输入的对象维度不足ndmin,则会自动扩展到ndmin维度。

以下是部分参数的示例:

import numpy as np

# 从列表创建一维数组
a = np.array([1, 2, 3, 4])
print(a)  # [1 2 3 4]

# 从嵌套列表创建二维数组
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
# [[1 2 3]
#  [4 5 6]]

# 指定数据类型
c = np.array([1, 2, 3], dtype=np.float64)
print(c)  # [1. 2. 3.]

# 指定存储顺序
d = np.array([[1, 2], [3, 4]], order='F')
print(d)  # [[1 3]
          #  [2 4]]

# 指定最小维数
e = np.array([1, 2, 3], ndmin=2)
print(e)  # [[1 2 3]]

关注我,内容持续更新(后续内容在作者专栏《从零基础到AI算法工程师》持续更新)!!!

  • 16
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值