使用 numpy 进行高效数组数据处理
创作时间:
作者:
@小白创作中心
使用 numpy 进行高效数组数据处理
引用
搜狐
1.
https://m.sohu.com/a/807523954_121484799/?pvid=000115_3w_a
在数据科学、工程计算和机器学习等领域,处理大规模数组数据是常见的需求。
numpy是 Python 中最为流行的科学计算库之一,专门为高效处理数组和矩阵数据而设计。它提供了丰富的数学函数和数组操作功能,是实现复杂数据分析和计算的基础工具。本文将介绍numpy的基本操作,并展示如何使用它来处理数组数据。
一、numpy 的安装与导入
在开始使用 numpy 之前,首先确保已安装该库。你可以使用以下命令通过 pip 进行安装:
pip install numpy
安装完成后,使用以下代码导入 numpy 库:
import numpy as np
导入后,你可以使用 np 前缀来调用 numpy 提供的各种函数和方法。
二、数组的创建与基本属性
在 numpy 中,最基本的结构是 ndarray(N-dimensional array),即多维数组。你可以通过多种方式创建数组:
# 从列表创建数组
a = np.array([1, 2, 3])
print(a)
# 创建全零数组
b = np.zeros((3, 4))
print(b)
# 创建全一数组
c = np.ones((2, 3, 4), dtype=np.int16) # dtype 可以指定数据类型
print(c)
# 创建等差数列
d = np.arange(10, 25, 5)
print(d)
# 创建等间隔数列
e = np.linspace(0, 2, 9) # 生成从0到2的9个等间隔数
print(e)
# 创建单位矩阵
f = np.eye(4, 4)
print(f)
# 创建随机数数组
g = np.random.random((2, 2))
print(g)
查看数组的属性:
a = np.arange(24)
a = a.reshape(2, 3, 4)
print(a.ndim) # 数组维度
print(a.shape) # 每个维度上的大小
print(a.size) # 数组元素总数
print(a.dtype) # 数组元素的数据类型
print(a.itemsize) # 每个元素的字节大小
print(a.data) # 数组元素的内存地址
三、数据类型转换
numpy 支持多种数据类型,可以使用 astype() 方法进行类型转换:
fg = np.array([1.2, 2.3, 3.4, 4.5])
print(fg.dtype)
fh = fg.astype(np.int32)
print(fh.dtype)
四、数组运算
numpy 支持数组间的算术运算:
a = np.array([10, 20, 30, 40])
b = np.arange(4)
c = a - b
print(c)
b ** 2
print(b)
10 * np.sin(a)
print(a)
a < 35
print(a)
五、数组的索引与切片
numpy 数组支持多维索引和切片操作:
a = np.arange(10) ** 3
print(a)
def f(x, y):
return 10 * x + y
b = np.fromfunction(f, (5, 4), dtype=int)
print(b)
c = np.array([[[ 0, 1, 2],
[ 10, 12, 13]],
[[100, 101, 102],
[110, 112, 113]]])
print(c)
六、数组的拼接与分割
numpy 提供了多种数组拼接和分割的方法:
a = np.floor(10 * np.random.random((2, 2)))
b = np.floor(10 * np.random.random((2, 2)))
print(np.vstack((a, b))) # 垂直堆叠
print(np.hstack((a, b))) # 水平堆叠
print(np.column_stack((a, b))) # 按列堆叠,等价于hstack
print(np.row_stack((a, b))) # 按行堆叠,等价于vstack
print(np.r_[1:4, 0, 4]) # 使用r_进行数组拼接
七、数组变形
numpy 支持数组的变形操作:
a = np.floor(10 * np.random.random((2, 12)))
print(np.hsplit(a, 3)) # 水平分割为3个子数组
print(np.hsplit(a, (3, 4))) # 在第3和第4列进行分割
八、随机数生成
numpy 提供了丰富的随机数生成函数:
print(np.random.normal(size=(2, 3))) # 生成标准正态分布随机数
print(np.random.normal(5, 10, size=(2, 3))) # 生成均值为5,标准差为10的正态分布随机数
print(np.random.randint(10)) # 生成一个0到10之间的整数
print(np.random.randint(0, 10, size=(2, 5))) # 生成一个2x5的随机整数数组
print(np.random.choice([1, 3, 5, 7, 9])) # 从给定数组中随机选择一个元素
print(np.random.choice([1, 3, 5, 7, 9], size=3)) # 从给定数组中随机选择3个元素
print(np.random.choice([1, 3, 5, 7, 9], size=(3, 5))) # 生成一个3x5的随机选择数组
通过以上介绍,你可以看到 numpy 提供了非常丰富的数组操作功能,能够满足各种科学计算和数据分析的需求。掌握 numpy 的基本操作是学习数据科学和机器学习的重要一步。
热门推荐
萨拉曼卡大学:888年历史学府跻身全球534强,语言学世界第89
冬天第一大补,不是羊肉也不是牛肉,一周吃一回,滋补身体少生病
鸡肉蛋白含量高吗?各部位热量与肉类蛋白排行榜
翡翠脏了不用愁,学会这几个小妙招,告别污垢,重拾璀璨光辉
翡翠灌胶技术:工艺详解与真伪鉴别指南
广西福绵区:三年培育60家规上企业,打造纺织服装产业集群
柏林攻略:博物馆、夜店、街头艺术,体验最真实的德国首都
从历史到童话:德国十大经典旅游目的地
可乐鸡翅的健康密码:美味与营养如何兼得?
海南好玩的旅游景点大全推荐:海南玩的一日游景点
海南人工岛盘点:凤凰岛、海花岛等热门项目一览及发展现状解析
海南海花岛自驾探险自由行:探寻热带海岛秘境
北京动物园实行实名制预约,旺季票价15元可享优惠
北京动物园大熊猫馆:最佳观赏时间与游览路线详解
北京动物园大熊猫“萌兰”攻略:早8点最佳,这些事项要注意
北京动物园亲子游:三大游览路线、必去景点全攻略
西画东渐第一人:弘一大师的艺术革新之路
从“弘一”印到佛像印:西泠印社藏品见证弘一法师金石情缘
弘一法师10句人生哲理:从文艺到佛学的智慧传承
从李叔同到弘一法师:以艺术滋养佛法的近代高僧
弘一法师的“大彻大悟”:真正的修行不向外求
智利车厘子海运量破万吨,供应链优化带动价格跳水
931吨智利车 cherry抵沪,上海口岸开启2024进口季
中国年轻人巧用新媒体,让汉服古筝等“国风”元素走向世界
从选材到出锅:一文详解酱牛肉制作全过程
传承30年工艺,解密酱牛肉“低温慢炖”精髓
一道美味红烧肉:详解选材、炖煮到调味的关键步骤
牛肉现绿光是光学现象,这样选购最安全
把照片拍清晰的5个小技巧
镜头选择攻略:不同焦段的摄影技巧与创意应用