NumPy学习笔记——创建数组

这篇博客详细介绍了NumPy中创建数组的各种方法,包括ones和zeros填充,从现有数据创建,创建记录和字符数组,数值范围,创建矩阵,以及使用ndarray构造器、empty、zeros、ones、asarray、frombuffer、fromiter、arange、linspace和logspace等方法创建数组。通过实例展示了每个方法的参数和用法,帮助读者掌握NumPy数组创建的全面知识。
摘要由CSDN通过智能技术生成

NumPy创建数组

创建方法概述

官方文档链接

ones和zeros填充方式

方法 描述
empty(shape[, dtype, order]) 返回给定形状和类型的新数组,元素是随机的
empty_like(prototype[, dtype, order, subok, …]) 返回形状和类型与给定数组相同的新数组,元素是随机的
eye(N[, M, k, dtype, order]) 返回一个二维数组,对角线上有一个,其他地方为零。
identity(n[, dtype]) 返回单位矩阵
ones(shape[, dtype, order]) 返回给定形状和类型的新数组,并填充为1。
ones_like(a[, dtype, order, subok, shape]) 返回形状与类型与给定数组相同的数组。
zeros(shape[, dtype, order]) 返回给定形状和类型的新数组,并用零填充。
zeros_like(a[, dtype, order, subok, shape]) 返回形状与类型与给定数组相同的零数组。
full(shape, fill_value[, dtype, order]) 返回给定形状和类型的新数组,并用fill_value填充。
full_like(a, fill_value[, dtype, order, …]) 返回形状和类型与给定数组相同的完整数组。

从现有数据创建

方法 描述
array(object[, dtype, copy, order, subok, ndmin]) 创建一个数组。
asarraya[, dtype, order]) 将输入转换为数组。
asanyarray(a[, dtype, order]) 将输入转换为ndarray,但通过ndarray子类。
ascontiguousarray(a[, dtype]) 返回内存中的连续数组(ndim > = 1)(C顺序)。
asmatrix(data[, dtype]) 将输入解释为矩阵。
copy(a[, order]) 返回给定对象的数组副本。
frombuffer(buffer[, dtype, count, offset]) 将缓冲区解释为一维数组。
fromfile(file[, dtype, count, sep, offset]) 根据文本或二进制文件中的数据构造一个数组。
fromfunction(function, shape, **kwargs) 通过在每个坐标上执行一个函数来构造一个数组。
fromiter(iterable, dtype[, count]) 从可迭代对象创建一个新的一维数组。
fromstring(string[, dtype, count, sep]) 从字符串中的文本数据初始化的新一维数组。
loadtxt(fname[, dtype, comments, delimiter, …]) 从文本文件加载数据。

创建记录数组

方法 描述
core.records.array(obj[, dtype, shape, …]) 从各种各样的对象构造一个记录数组。
core.records.fromarrays(arrayList[, dtype, …]) 从(平面)数组列表创建记录数组
core.records.fromrecords(recList[, dtype, …]) 从文本格式的记录列表创建一个rearray
core.records.fromstring(datastring[, dtype, …]) 根据字符串中包含的二进制数据创建(只读)记录数组
core.records.fromfile(fd[, dtype, shape, …]) 根据二进制文件数据创建数组

创建字符数组

方法 描述
core.defchararray.array(obj[, itemsize, …]) 创建一个chararray。
core.defchararray.asarray(obj[, itemsize, …]) 将输入转换为chararray,仅在必要时复制数据。

数值范围

方法 描述
arange([start,] stop[, step,][, dtype]) 返回给定间隔内的均匀间隔的值。
linspace(start, stop[, num, endpoint, …]) 返回指定间隔内的等间隔数字。
logspace(start, stop[, num, endpoint, base, …]) 返回数以对数刻度均匀分布。
geomspace(start, stop[, num, endpoint, …]) 返回数字以对数刻度(几何级数)均匀分布。
meshgrid(*xi, **kwargs) 从坐标向量返回坐标矩阵。
mgrid nd_grid实例,它返回一个密集的多维“ meshgrid”。
ogrid nd_grid实例,它返回一个开放的多维“ meshgrid”。

创建矩阵

方法 描述
diag(v[, k]) 提取对角线或构造对角线数组。
diagflat(v[, k]) 使用展平的输入作为对角线创建二维数组。
tri(N[, M, k, dtype]) 在给定对角线处及以下且在其他位置为零的数组。
tril(m[, k]) 数组的下三角。
triu(m[, k]) 数组的上三角。
vander(x[, N, increasing]) 生成范德蒙矩阵。

矩阵类

方法 描述
mat(data[, dtype]) 将输入解释为矩阵。
bmat(obj[, ldict, gdict]) 从字符串,嵌套序列或数组构建矩阵对象。

常用的数组创建方法

使用底层的ndarray构造器来创建

ndarray(shape, dtype=None, buffer=None, offset=0, strides=None, order=None)

参数说明:

参数 类型 描述
shape int型tuple 多维数组的形状
dtype data-type 数组中元素的类型,可选
buffer 用于初始化数组的buffer
offset int buffer中用于初始化数组的首个数据的偏移
strides int型tuple 每个轴的下标增加1时,数据指针在内存中增加的字节数
order ‘C’ 或者 ‘F’ ‘C’:行优先;‘F’:列优先

示例:

a = np.ndarray((2, 3), dtype=int, buffer=np
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值