✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。
✍ 本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
✍ 订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 还可以订阅进阶篇《数据分析之术》,其包含数据分析方法论、数据挖掘算法原理、业务分析实战。
✍ 其他专栏:《数据分析案例》 ,《机器学习案例》
NumPy是一个Python的第三方库,它是Numerical Python的缩写。NumPy主要用于科学计算、数据分析和机器学习等领域,提供了高效的多维数组对象和各种用于数组计算的函数。
NumPy的主要特点包括:
Numpy数组是多维数组,可以表示矩阵、向量等数据结构,且它们的元素都是同一类型的。
Numpy数组比Python内置的列表(list)要快很多,因为NumPy数组中的数据是连续存储的,而列表中的数据是分散存储的。
NumPy支持广播(broadcasting)功能,可以进行各种数组之间的运算。
NumPy提供了大量的数学、逻辑、傅里叶变换、随机数生成等函数,可以方便地进行各种科学计算和数据分析。
NumPy可以与其他Python库(如Matplotlib、SciPy等)配合使用,实现更加复杂的科学计算和数据分析功能。
NumPy在科学计算、数据分析和机器学习等领域有广泛的应用。下面是一些常见的应用场景:
数学和统计学计算:NumPy提供了丰富的数学和统计学函数,可以进行各种复杂的数值计算,如矩阵运算、线性代数、随机数生成、傅里叶变换等。
数据分析:NumPy数组提供了快速、高效的数据存储和处理方式,可以方便地进行数据分析和数据可视化,如数据清洗、数据切片、数据聚合等。
机器学习:NumPy是许多机器学习算法的核心库,提供了高效的矩阵运算和广播功能,可以方便地进行各种线性代数和数值计算,如逻辑回归、神经网络、卷积神经网络等。
图像处理和计算机视觉:NumPy提供了高效的多维数组和广播功能,可以方便地进行图像处理和计算机视觉任务,如图像转换、边缘检测、目标检测等。
自然语言处理:NumPy提供了高效的矩阵运算和广播功能,可以方便地进行自然语言处理任务,如文本分类、情感分析、机器翻译等。
数字信号处理:NumPy提供了高效的傅里叶变换函数和各种滤波器函数,可以方便地进行数字信号处理任务,如音频信号处理、图像处理等。
NumPy数组有自己的数据类型,与Python内置的数据类型不同。NumPy提供的数据类型包括布尔型、整型、浮点型、复数型等。常用的数据类型如下表所示:
数据类型 | 描述 |
---|---|
bool | 存储True或False的布尔型数据类型 |
int8 | 8位整型,取值范围为-128到127 |
int16 | 16位整型,取值范围为-32768到32767 |
int32 | 32位整型,取值范围为-231到231-1 |
int64 | 64位整型,取值范围为-263到263-1 |
uint8 | 8位无符号整型,取值范围为0到255 |
uint16 | 16位无符号整型,取值范围为0到65535 |
uint32 | 32位无符号整型,取值范围为0到2^32-1 |
uint64 | 64位无符号整型,取值范围为0到2^64-1 |
float16 | 16位半精度浮点型 |
float32 | 32位单精度浮点型 |
float64 | 64位双精度浮点型 |
complex64 | 由两个32位浮点型组成的复数类型,分别表示实部和虚部 |
complex128 | 由两个64位浮点型组成的复数类型,分别表示实部和虚部 |
NumPy数组的属性包括:ndim(数组的维度数)、shape(数组的形状,即每个维度的元素个数)、size(数组的总元素个数)、dtype(数组的数据类型)、itemsize(数组中每个元素占用的字节数)等。
下面是一些示例代码,演示了如何使用NumPy数组的属性:
import numpy as np
# 创建一个3x3的二维数组
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 输出数组的形状、维度数、总元素个数、数据类型和每个元素占用的字节数
print("数组形状:", a.shape)
print("数组维度数:", a.ndim)
print("数组总元素个数:", a.size)
print("数组数据类型:", a.dtype)
print("每个元素占用的字节数:", a.itemsize)
在上面的示例中,我们首先使用np.array函数创建了一个3x3的二维数组a,然后使用数组的属性输出了数组的形状、维度数、总元素个数、数据类型和每个元素占用的字节数。
除了上面提到的属性之外,NumPy数组还具有一些其他的有用属性和方法。下面是一些常用的属性和方法:
T属性:用于将数组进行转置。
import numpy as np
# 创建一个3x3的二维数组
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 输出原始数组和转置后的数组
print("原始数组:\n", a)
print("转置后的数组:\n", a.T)
reshape方法:用于改变数组的形状。
import numpy as np
# 创建一个3x3的二维数组
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 将数组转换为1行9列的一维数组
b = a.reshape(1, 9)
# 输出原始数组和转换后的数组
print("原始数组:\n", a)
print("转换后的数组:\n", b)
flatten方法:用于将多维数组转换为一维数组。
import numpy as np
# 创建一个3x3的二维数组
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 将数组转换为一维数组
b = a.flatten()
# 输出原始数组和转换后的数组
print("原始数组:\n", a)
print("转换后的数组:\n", b)
文章下方有交流学习区!一起学习进步!
首发CSDN博客,创作不易,如果觉得文章不错,可以点赞收藏评论
你的支持和鼓励是我创作的动力❗❗❗