numpy数组与矩阵运算(笔记)

本文详细介绍了如何使用numpy库进行数组的创建,包括从列表、元组、range对象以及使用arange、linspace、logspace等函数生成等差和等比数组。同时涵盖了全0、全1、单位矩阵、空数组和特定值数组的创建方法。
摘要由CSDN通过智能技术生成

1.1  numpy数组及其运算(更新ing)

1.1.1创建数组

下面两种是分别把列表元组转换成为数组

import numpy as np
np.array([1,2,3,4,5]) #把列表转换成为数组
np.array((1,2,3,4,5)) #把元组转换成为数组

下面是创建二维数组

np.array([(1,2,3,4),(5,6,7,8)])
np.array([[1,2,3,4],[5,6,7,8]])

 这两种方式的结果相同

array([[1, 2, 3, 4],
       [5, 6, 7, 8]])

还可以把range对象转换成数组

np.array(range(5)) #把range对象转换成数组

另外,可以用类似于内置函数range()的arange()来建立数组。arange()类似于python的内置函数range(),是比较常用的一个函数,通过指定

start:开始值,默认值是0

stop:终值

step:步长,默认值是1

dtype:数组类型

来创建表示等差数列的一维数组,返回给定间隔内的均匀间隔值,注意得到的结果数组不包含终值

arange参数的问题:

当arange有一个参数的时候,该参数被认为是stop的值,如下:

np.arange(8)

结果为: 

array([0, 1, 2, 3, 4, 5, 6, 7])

 当arange有两个参数的时候,第一个参数被认为是start的值,第二个参数被认为是stop的值,如下:

np.arange(4,10)

结果为:

array([4, 5, 6, 7, 8, 9])

当有三个参数的时候,三个参数依次被认为是start、stop、step的值,如下:

print(np.arange(0,10,2))
print(np.arange(10,0,-1))
print(np.arange(10,0,-2))

运行结果:

[0 2 4 6 8]
[10  9  8  7  6  5  4  3  2  1]
[10  8  6  4  2]

创建等差数组:

linspace()方法:需要指定间隔起始点、终止端,以及指定分隔值总数(包括起始点和终止点);最终函数返回间隔类均匀分布的数值序列。

np.linspace(0,10,11)

其结果为: 

array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])

创建等比数组:

logspace()方法:需要指定等比(base ** start)、终止端(base ** stop),指定总数(包括起始点和终止点),以及base的值,base值默认为10;最终函数返回等比的数值序列。

np.logspace(1,5,5,base=2)

结果就应该为2**1,2**2……2**5,一共5个数。

array([ 2.,  4.,  8., 16., 32.])

创建全0的数组:

zeros()方法:可以用该方法创建一维或者二维的全0数组。

print(np.zeros(3))
print(np.zeros((3,3)))

结果:

[0. 0. 0.]

[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]

创建全1数组:

ones()方法:可以用该方法创建一维或者二维的全1数组。

print(np.ones(3))
print(np.ones((3,3)))

结果为:

[1. 1. 1.]

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

 创建单位矩阵:

identity()方法:指定其中的参数n,创建n*n的单位矩阵。

np.identity(3)

结果为:

array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])

创建空数组:

empty()方法:创建一个空数组,只申请空间不初始化(其中的值不一定是什么,随机数)。

np.empty((3,5))

结果:

array([[0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.]])

创建特定值数组:

full()方法:其中第一个参数是数组的形状;第二个参数是fill_value(特定值)。该方法会返回一个全是特定值的、符合给出形状的数组。

print(np.full(5,200))
print(np.full((3,3),111))

结果:

[200 200 200 200 200]

[[111 111 111]
 [111 111 111]
 [111 111 111]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值