python之Numpy章节

发布于:2025-07-11 ⋅ 阅读:(14) ⋅ 点赞:(0)

一、定义

numpy是数据分析的第三方库,多用于数组分析。

二、数组

import numpy as np
from numpy import dtype

# 生成一维数组
np.array([1,2,3])
# 生成二维数组
A = np.array([[1,2,3],[4,5,6]])
# 查看数组形状
A.shape
# 查看数组维度
A.ndim
# 生成全零数组
np.zeros((3,4))
# 生成全1数组
np.ones((3,4))
# 生成单位矩阵
np.eye(4)
# 指定数据类型
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)

# 改变数据类型
B1 = A1.astype(np.int32)
print(A1.dtype)
print("改变之后的数据类型",B1.dtype)

三、索引

索引是数组中数据的编号方式,通过索引可以访问、获取或修改数组中的对应元素。从0开始

# 获取元素
A = np.arange(9).reshape((3,3))
print(A)
print("索引获取元素:",A[1,2])

# 重新赋值
A[1,2] = 10
print("重新赋值后的数组")
print(A)

# 获取行元素
A[1,:]
# 获取列元素
A[:,2]

# 获取某一部分
A[0:3, 1:3]

# 布尔值索引
print(A%2==1)

A = np.arange(9).reshape((3,3))
# 获取奇数项
print(A[A%2==1])

# np.where
a,b = np.where(A%2==0)
print(a)
print(b)
print(A[a,b])

# 偶数不变,奇数翻倍
print(np.where(A%2==0,A,A*2))

# 转置
A = np.arange(9).reshape((3,3))
print(A)
print(A.T)

# 轴转换

A = np.arange(24).reshape(2, 3, 4)
print(A.shape)
B = A.transpose((2, 1, 0))
print(B.shape)
print(B)

四、运算函数 

# 均值
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))
print()
# 和
print("数组和:",A.sum())
print("每列和:",A.sum(axis=0))
print("每行和:",A.sum(axis=1))
print()
# 累加和
print("数组累加和:",A.cumsum())
print("每列累加和:",A.cumsum(axis=0))
print("每行累加和:",A.cumsum(axis=1))
print()
# 标准差
print("数组标准差:",A.std())
print("每列标准差:",A.std(axis=0))
print("每行标准差:",A.std(axis=1))
print()
# 方差
print("数组方差:",A.var())
print("每列方差:",A.var(axis=0))
print("每行方差:",A.var(axis=1))
print()
# 最大值
print("数组最大值:",A.max())
print("每列最大值:",A.max(axis=0))
print("每行最大值:",A.max(axis=1))
print()
# 最小值
print("数组最小值:",A.min())
print("每列最小值:",A.min(axis=0))
print("每行最小值:",A.min(axis=1))

# 正态分布的随机矩阵
np.random.randn(2,3)

#  随机排序
np.random.seed(10)
np.random.permutation(10)

# 均匀分布的随机数矩阵
np.random.seed(10)
np.random.randn(2,3)

# 固定范围内随机整数
np.random.seed(10)
np.random.randint(10,20,size=(5))


网站公告

今日签到

点亮在社区的每一天
去签到