目录
Python第三方库是由Python社区或其他开发者创建并维护的,扩展Python标准库功能的软件包或模块,它们提供了丰富的工具和功能,涵盖了从Web开发到数据科学、机器学习、图像处理等各个领域,使得开发工作更加高效和便捷。
一、配置环境
1.1 检查是否有pip库
在PyCharm的底部找到并打开“Terminal”选项卡。
在终端中输入命令:
pip --version 或 pip list
如果pip已安装,你将看到pip的版本信息或已安装的库列表。如果提示“pip不是内部或外部命令”,则可能pip未安装或未正确配置。
1.2 安装Numpy库
安装NumPy的指令主要取决于你使用的Python环境和包管理工具
在命令行或终端运行以下代码:
pip install numpy
安装成功后的展示图如下:
再检查是否安装完成:
pip show numpy
二、数组
利用NumPy库可以生成多种形式的数组
2.1 生成一维数组
import numpy as np
A = np.array([1, 2, 3])
print(A)
2.2 生成二维数组
import numpy as np
A = np.array([[1, 2, 3],[4, 5, 6]])
print(A)
2.3 查看数组形状
import numpy as np
A = np.array([[1, 2, 3],[4, 5, 6]])
print(A.shape)
2.4 查看数组维度
import numpy as np
A = np.array([[1, 2, 3],[4, 5, 6]])
print(A.ndim)
2.5 全零数组
import numpy as np
print(np.zeros((2,3)))
2.6 全1数组
import numpy as np
print(np.ones((2,3)))
2.7 单位矩阵
import numpy as np
print(np.eye(3,3))
2.8 指定数据类型
import numpy as np
from numpy import dtype
A1 = np.array([[1, 2, 3],[4, 5, 6]], dtype = np.float64)
A2 = np.array([[7, 8, 9],[10, 11, 12]], dtype = np.float32)
A3 = np.array([[13, 14, 15],[16, 17, 18]], dtype = np.int32)
print(A1.dtype)
print(A2.dtype)
print(A3.dtype)
变换数据类型
import numpy as np
from numpy import dtype
A1 = np.array([[1, 2, 3],[4, 5, 6]], dtype = np.float64)
A2 = np.array([[7, 8, 9],[10, 11, 12]], dtype = np.float32)
A3 = np.array([[13, 14, 15],[16, 17, 18]], dtype = np.int32)
B1 = A1.astype(np.int32)
B2 = A2.astype(np.int8)
B3 = A3.astype(np.float32)
print(B1.dtype)
print(B2.dtype)
print(B3.dtype)
三、索引
索引是数组中数据的编号方式,通过索引可以访问、获取或修改数组中的对应元素。在大多数编程语言中,数组的索引是从0开始的连续整数序列。
3.1 获取元素
import numpy as np
from numpy import dtype
A = np.arange(9).reshape((3,3))
print(A)
print("索引获取的元素:",A[1, 2])
3.2 重新赋值
import numpy as np
from numpy import dtype
A = np.arange(9).reshape((3,3))
print(A)
A[1, 2] = 10
print(A)
3.3 获取行数据
import numpy as np
from numpy import dtype
A = np.arange(9).reshape((3,3))
print(A[1, :])
3.4 获取列数据
import numpy as np
from numpy import dtype
A = np.arange(9).reshape((3,3))
print(A[:, 1])
3.5 获取某一部分
import numpy as np
from numpy import dtype
A = np.arange(9).reshape((3,3))
print(A[0:3, 1:3 ])
3.6 布尔值索引
import numpy as np
from numpy import dtype
A = np.arange(9).reshape((3,3))
print(A)
index = A % 2 == 1
print(index)
3.7 获取奇数项
import numpy as np
from numpy import dtype
A = np.arange(9).reshape((3,3))
print(A)
index = A % 2 == 1
print(A[index])
3.8 公式获取奇数项
import numpy as np
from numpy import dtype
A = np.arange(9).reshape((3,3))
print(A)
print(A[A % 2 == 1])
3.9 np.where
import numpy as np
from numpy import dtype
A = np.arange(9).reshape((3,3))
print(A)
a, b = np.where(A % 2 == 0)
# 行索引
print(a)
# 列索引
print(b)
# 数组索引
print(A[a, b])
3.10 偶数不变,奇数翻倍
import numpy as np
from numpy import dtype
A = np.arange(9).reshape((3,3))
print(A)
print(np.where(A % 2 == 0, A, A * 2))
3.11 转置
如果数组是2*3,则会转置为3*2的数组,行变列、列变行
import numpy as np
from numpy import dtype
A = np.arange(9).reshape((3,3))
print(A)
print(A.T)
3.12 轴转换
import numpy as np
from numpy import dtype
A = np.arange(24).reshape(2, 3, 4)
print(A.shape)
B = A.transpose((2, 1, 0))
print(B.shape)
B = A.transpose((2, 1, 0))
:transpose
方法用于对数组进行转置操作。括号内的参数(2, 1, 0)
指定了新的维度的顺序。原始数组A
的维度顺序是(深度, 高度, 宽度)
,即(2, 3, 4)
。通过transpose((2, 1, 0))
操作,我们将维度顺序改为(宽度, 高度, 深度)
,即(4, 3, 2)
。这意味着新的数组B
将有4个二维数组(深度为4),每个二维数组有3行2列。
四、运算函数
4.1 均值
import numpy as np
from numpy import dtype
A = np.arange(15).reshape(3,5)
print(A)
# 数组均值
print("数组均值", A.mean())
# 每列均值
print("每列均值", A.mean(axis=0))
# 每行均值
print("每行均值", A.mean(axis=1))
4.2 和
import numpy as np
from numpy import dtype
A = np.arange(15).reshape(3,5)
print(A)
# 数组总和
print("数组总和", A.sum())
# 每列和
print("每列和", A.sum(axis=0))
# 每行和
print("每行和", A.sum(axis=1))
4.3 累加和
import numpy as np
from numpy import dtype
A = np.arange(15).reshape(3,5)
print(A)
# 数组累加和
print("数组总和", A.cumsum())
# 每列累加和
print("每列和", A.cumsum(axis=0))
# 每行累加和
print("每行和", A.cumsum(axis=1))
4.4 标准差
import numpy as np
from numpy import dtype
A = np.arange(15).reshape(3,5)
print(A)
# 数组标准差
print("数组标准差", A.std())
# 每列标准差
print("每列标准差", A.std(axis=0))
# 每行标准差
print("每行标准差", A.std(axis=1))
4.5 方差
import numpy as np
from numpy import dtype
A = np.arange(15).reshape(3,5)
print(A)
# 数组方差
print("数组方差", A.var())
# 每列方差
print("每列方差", A.var(axis=0))
# 每行方差
print("每行方差", A.var(axis=1))
4.6 最大值
import numpy as np
from numpy import dtype
A = np.arange(15).reshape(3,5)
print(A)
# 数组最大值
print("数组最大值", A.max())
# 每列最大值
print("每列最大值", A.max(axis=0))
# 每行最大值
print("每行最大值", A.max(axis=1))
4.7 最小值
import numpy as np
from numpy import dtype
A = np.arange(15).reshape(3,5)
print(A)
# 数组最小值
print("数组最小值", A.min())
# 每列最小值
print("每列最小值", A.min(axis=0))
# 每行最小值
print("每行最小值", A.min(axis=1))
4.8 正态分布的随机矩阵
import numpy as np
from numpy import dtype
print(np.random.randn(2, 3))
4.9 随机排序
import numpy as np
from numpy import dtype
np.random.seed(10)
print(np.random.permutation(10))
4.10 均匀分布的随机数矩阵
import numpy as np
from numpy import dtype
np.random.seed(10)
print(np.random.rand(2, 3))
4.11 固定范围内随机整数
import numpy as np
from numpy import dtype
np.random.seed(10)
print(np.random.randint(2, 8, size=6))
4.12 保存数据
import numpy as np
from numpy import dtype
A = np.arange(12).reshape(4, 3)
np.save("test.npy", A)
print("保存成功")
4.13 导入数据
import numpy as np
from numpy import dtype
A = np.load("test.npy")
print(A)
4.14 压缩数据
import numpy as np
from numpy import dtype
A = np.arange(12).reshape(4, 3)
B = np.load("test.npy")
# 将以上两个数组压缩成一个文件
np.savez("test.npz", A = A, B = B)
# 导入保存的压缩文件
data = np.load("test.npz")
print(data["A"])
上一篇文章:Python的条件判断、循环和函数(超详细教学)-CSDN博客https://blog.csdn.net/Z0412_J0103/article/details/144829113下一篇文章: Python的pandas库基础知识(超详细教学)-CSDN博客
https://blog.csdn.net/Z0412_J0103/article/details/144849671