博客
关于我
Python之Numpy库的简单介绍(一)
阅读量:487 次
发布时间:2019-03-07

本文共 2390 字,大约阅读时间需要 7 分钟。

Python之Numpy库的简单介绍(一)

Numpy库是一个强大的开源数学与科学计算库,它在处理数组数据方面拥有强大的功能。以下将介绍Numpy库的一些基础操作。

如何导入Numpy库

在使用Numpy之前,需要先进行导入。常用的方式有两种:

import numpy as np  # 将numpy库作为np赋值,以便于使用np调用Numpy函数import numpy      # 直接使用numpy进行操作

创建Numpy数组

np.array()是最基本的创建Numpy数组的方法:

vector = np.array([1, 2, 3, 4, 5])    # 创建一维数组matrix = np.array([[1, 2],     # 创建二维数组(2x2)               [3, 4],               [5, 6]])cube = np.array([[[7,8,9],    # 创建三维数组(2x2x3)                [10,11,12]]],               dtype=np.float16)

注意cube的理解可以与一个三维的长方体对应,其中每个维度都有具体的含义,具体由你的数据分析需求决定。

Numpy数组的属性

np.array对象具有许多实用的属性,可以帮助我们更好地理解和操作数组:

  • dtype:指定数组中的元素类型,默认会自动选择适合数据的最小类型。
  • order:指定数组元素的存储顺序,常用C(行优先)和F(列优先)。
  • a.shape:返回数组的形状(行、列...)。
  • a.size:返回数组的总元素个数。
  • a.itemsize:每个元素的字节大小。
  • a.nbytes:整个数组的总字节大小。
  • a.min()a.max():分别求出数组中的最小值和最大值。

生成区间的数组

np.arange()函数可以用来生成等差数列:

np.arange(12)       #生成[0, 1, 2,..., 11]np.arange(3, 9, 1)  #生成[3,4,5,6,7,8]np.arange(0, 15, 3)  #生成[0, 3, 6, 9, 12]

创建多维数组

np.ndarray也是一个强大的工具,用于创建和描述多维数组:

# 例子:创建一个3x4的二维整数数组a = np.ndarray(shape=(3,4), dtype=int, buffer=np.arange(15).reshape(3,5))

由于buffer属性指定了用于填充数组的源数据,可以通过这种方式快速生成特定数据类型的数组。如果不指定buffer,Numpy会为数组中的值随机分配。

刚才创建方式的区别

a = np.array([[1,2,3],[4,5,6]], np.float32)b = np.ndarray(shape=(3,3), dtype=np.float64)

在这个例子中,a是从现有的列表转换而来,而b则是通过ndarray直接描述了数组的形状和类型。这两种方式在实际应用中会有不同的使用场景。

生成零或全为一的数组

np.zeros()np.ones() 可以快速生成全为零或全为一的数组:

# 示例:创建一个大小为3x4x5的三维零数组np.zeros(shape=(3,4,5))np.ones(shape=(3,4,5))

常用数组操作函数

Numpy库提供了大量高效的数组操作函数,其中有一些更常用的工具:

执行np.dot()是矩阵乘法的快速实现:

matrix = np.array([[1,3,4],     # 定义矩阵A                 [2,24,5],                 [4,6,7]])# 举例:矩阵乘法的定义为A * Bproduct = np.dot(matrix, matrix)# 或者使用点积result = np.dot(matrix, np.array([2,3,4]))

另一个常用的函数是np.sum(),可以对指定轴进行求和:

# 按照行或列相加matrix.sum(axis=1)  # 按行求和后的结果matrix.sum(axis=0)  # 按列求和后的结果

增加或改变数组维度

通过np.hsplit()np.vsplit() 提供的函数,可以轻松地将多维数组按行或列分割:

# 假设data_shape = (10, 5)split_data = np.vsplit(data_shape, 2)  # 按垂直分割成两部分# 或者按水平分割:stacked_data = np.hstack((data1, data2))  # 水平拼接两个数组

np.concatenate() 是另一个强大的函数,可以用来将多个数组沿特定轴进行合并:

a = np.array([[1,2,3], [4,5,6]])b = np.array([[7,8,9], [10,11,12]])# 按照行进行垂直合并merged_data = np.concatenate((a, b), axis=0)# 或者按列进行水平合并merged_data = np.concatenate((a, b), axis=1)

搜索引擎友好的内容优化

  • 标题优化:确保标题中包含主要关键词并保持语义自然。
  • 内容结构:使用小标题和列表结构增强可读性。
  • 标签优化:在文章末尾添加相关标签,以便被搜索引擎更好地理解内容主题。

通过以上优化,可以让文章更易于搜索引擎理解,同时提升用户的阅读体验。作为Numpy库的新手,熟悉这些基础操作是非常重要的,可以为后续的数据分析和建模奠定坚实的基础。

转载地址:http://voxcz.baihongyu.com/

你可能感兴趣的文章
13个JavaScript单行式代码
查看>>
5个很常用的CSS3网页小实例
查看>>
前端基础知识整理汇总(上)
查看>>
微信小程序 - 实现左滑动删除功能
查看>>
<s>
查看>>
OBDC无法创建sql server连接
查看>>
常见错误
查看>>
finger
查看>>
实例属性和类属性
查看>>
Oracle
查看>>
序列化与反序列化
查看>>
排除Transformation Errors
查看>>
错误总结
查看>>
一个移动端的图片手写签名应用
查看>>
如何使用linux系统自带的led驱动
查看>>
泛知识类视频会改变短视频行业格局吗?
查看>>
小程序触底加载 Invalid attempt to spread non-iterable instance
查看>>
IP-Guard回收客户端加密授权,已经加密的文档如何解密
查看>>
IP-GUARD支持的数据库版本
查看>>
IP-Guard文档权限管理,让核心数据使用更安全
查看>>