python生成固定长度的矩形_Numpy使用说明

本文介绍了如何使用Python的Numpy库创建不同类型的数组,包括一维、多维、全0、全1、空数组以及单位矩阵等,并展示了如何更改数组的类型、格式输出以及创建等差、等比数组。此外,还涵盖了随机数数组的生成方法,如均匀分布、正态分布等,并探讨了数组的索引、切片、布尔型索引和花式索引。最后,文章讨论了数组的运算,包括标量运算、通用函数运算、线性代数运算以及聚合函数运算。
摘要由CSDN通过智能技术生成

导入numpy

import numpy as np

Numpy最重要的一个特点就是它可以快速地创建一个N维数组对象,即numpy.ndarray。(本专栏ndarray对象和数组并不做概念上的区分)。

然后你可以利用ndarray这种数据结构非常高效地执行一些数学运算,并且语法风格和Python基本一致。

一、创建数组

1、用np.array()创建数组

通过array函数创建ndarray对象,即将python数组转换为ndarray对象

(1)创建一维数组

ndarray是一个通用的同构数据多维容器,其中的所有的元素必须是相同的类型,numpy会根据输入的实际情况进行转换。

data0 = [2, 4, 6.5, 8]

arr0 = np.array(data0)

(2)创建多维数组

data1 = [[1, 2, 3, 4], [5, 6, 7, 8]]

arr1 = np.array(data1)

(3)查看创建的arr0的变量类型

type(arr0)

(4)判断是否是ndarray类型

isinstance(arr0, np.ndarray)

(5)利用dtype关键字,传入合适的数据类型,显式地定义

arr2 = np.array(data1, dtype=np.float)

dtype的类型

np.float

np.int

np.str S1

np.unicode U1

np.bool

np.complex

(6)更改数组的数据类型

arr2.astype(np.int)

(7)数组的格式化输出

#对浮点数数组,保留3位有效数字,并禁用科学计数法;小数位数不够,后面不会补0

arr3 = np.array([3.141592653, 9.8], dtype=np.float16) # 定义一个一维数组

np.set_printoptions(precision=3, suppress=True)

2、创建数组的其他方式

(1)创建一个大小为10的全0数组

np.zeros(10, dtype=np.int)

(2)创建一个大小为5的全1数组

np.ones(5, dtype=np.int)

(3)创建空的(2,3)二维数组

np.empty((2, 3), dtype=np.int)

(4)创建一个大小为3×3的单位矩阵

# np.identity(n, dtype=)

np.identity(3, dtype=np.int)

Out: array([[1, 0, 0],

[0, 1, 0],

[0, 0, 1]], dtype=int8)

(5)创建3×4的矩形矩阵,并且为1的对角线向右偏移1个单位。

# np.eye(N, M=None, k=0, dtype=float, order='C')

np.eye(N=3, M=4, k=1, dtype=np.int)

Out: array([[0, 1, 0, 0],

[0, 0, 1, 0],

[0, 0, 0, 1]], dtype=int)

3、创建等差数组

(1)np.arange(start,stop,step)

指定 start、stop、以及step。arange和range一样,是左闭右开的区间。

也可以只传入一个参数,这种情况下默认start=0,step=1

np.arange(10)

np.arange(1, 10, 1)

np.arange(1.2, 3.8, 0.3)

(2)np.linspace(start, stop[, num=50[, endpoint=True[, retstep=False[, dtype=None]]]]])

start、stop参数,和arange()中一致;

num为待创建的数组中的元素的个数,默认为50

endpoint=True,则为左闭右闭区间,默认为True;endpoint=False,则为左闭右开区间

retstep用来控制返回值的形式。默认为False,返回数组;若为True,则返回由数组和步长组成的元祖

arr_linspace = np.linspace(1, 99, 11, endpoint=False)

(3)ndarray.reshape()

这里定义了一个长度为20的等差数组,然后通过reshape方法,调整数组的大小为5×4

arr_linspace.reshape(5, 4)

4、创建等比数组

(3)geomspace()方法,创建指数等比数列

np.geomspace(start, stop, num=50, endpoint=True, dtype=None)

start和stop,分别为区间的起始和终止值,为强制参数;

num 为待生成等比数列的长度,指定后,程序会自动计算取等比数列的公比;

endpoint默认为True,结果为左闭右必区间。否则为False,左闭右开区间;

np.geomspace(2, 16, 4)

(4)logspace()方法,创建对数等比数列

np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)

start:区间起始值为ba

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值