Python NumPy数组的创建方法

Numpy是Python中科学计算的基础包,其核心对象就是ndarray(n维数组)。利用数组可以快速执行逻辑,形状操作,统计和傅里叶变换等运算,其效率比Python原生的数组效率更高。因此使用Numpy的第一件事就是创建Numpy数组,本文总结了5种常用的创建NumPy数组方法。

一、使用NumPy内部功能函数

1.1 使用arange函数

Numpy的arange函数可以快速创建一个一维数组,功能和python的range函数很像,但它返回的是NumPy数组而不是列表。数组中元素的下标从0开始(和Python的列表相同):

import numpy as np
a = np.arrange(10)

在这里插入图片描述

通过数组的shape属性可以查看数组的维度,返回的元组中只有1个数字,说明a是一个一维数组:

a.shape

在这里插入图片描述

1.2 创建多维数组

在使用arange创建一维数组时,通过reshape函数可以将其转化为指定的维度,下面创建一个3行3列二维数组:

a1 = np.arange(9).reshape(3,3)

在这里插入图片描述

通过a1的shape属性可以看到返回了2个数字,说明这是二维数组(这个就是reshape的参数):

a1.shape

在这里插入图片描述

访问二维数组中的元素,需要2个索引值:

a1[1][2]    # 访问第2行,第3列元素(索引从0开始)

在这里插入图片描述

同理,三维数组就需要给reshape函数提供3个参数(访问元素也需要3个索引值),N维数组依次类推:

a2 = np.arange(27).reshape(3,3,3)

在这里插入图片描述
注意:arange函数返回的元素个数需要和reshape参数的乘积相同,示例中是27=3 X 3 X 3,否则无法生成N维数组。

1.3 使用zeros/zeros_like和ones/ones_like函数

通常数组中的元素最初值可能是未知的,但形状通常是已知的。NumPy提供了一系列函数来创建指定形状的数组,并用初始值填充,这样可以避免后期数组增长(NumPy数组变更形状代价很大,需要删除重建,这点和Python不同)。

zeros和ones函数可以创建数组并分别用0和1预填充。zeros和ones传入的参数为数组的各个维度值组成的元组。下面示例使用zeros和ones分别创建一个3行3列的二维数组,注意各维度值是以元组的形式传入的,因此是双层括号:

a3 =<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值