numpy介绍——基础操作(6)

这次教程是对python的numpy这个包做一个介绍

numpy是python用于分析数据,处理矩阵的一个非常实用的包,下面我将会在jupyter notebook上,一步一步实现numpy这个包的各种用法,并配上说明。

这一节我们要学习的是,生成矩阵。

import numpy as np
import pandas as pd

a=np.random.random([3,3])
a

首先导入之前安装好的包numpy和pandas

按照上图方法,可以创建一个3行3列的矩阵,矩阵元素随机分布在0到1之间

array([[0.73171217, 0.43880544, 0.21583348],
       [0.46026688, 0.7176575 , 0.33961139],
       [0.76468958, 0.08658304, 0.70468339]])

我们可以利用tuple来生成一个array

#利用tuple来创建一个array
#dtype的意思是,将传入的tuple转化成array形式,并且类型为int类型,也就是整数型
t=(1,2,3)
a=np.array(t,dtype='int')
a

生成结果为

array([1, 2, 3])

还可以利用list来生成一个array

list1=[1,2,3]
a=np.array(list1,dtype='int')
a

结果为

array([1, 2, 3])

刚才生成了list1,我们来生成一个list2,并把两个合并一下看看

list2=[3.1,4.6,7.4]
b=np.array([list1,list2])
b
#合并之后的list1变成了1. 2. 3.,从int型自动变成了float型

结果为

array([[1. , 2. , 3. ],
       [3.1, 4.6, 7.4]])

当然矩阵里面的元素还可以设置成虚数

#将dtype写成complex可以将输入的array变成虚数
c=np.array([[1,2],[3,4]],dtype=complex)
c
结果为
array([[1.+0.j, 2.+0.j],
       [3.+0.j, 4.+0.j]])

我们还可以查看numpy生成的array的结构,利用shape这个函数。

c.shape

结果为一个两行两列的array

(2, 2)

通过numpy还可以直接生成元素全部为0或者元素全部为1的矩阵。

np.zeros([2,2])
array([[0., 0.],
       [0., 0.]])
np.ones([2,3])
array([[1., 1., 1.],
       [1., 1., 1.]])

不过如果尝试生成元素全部为2或者其他数字的矩阵,则会报错了~

继续~我们来生成对角线为1的矩阵

#斜角为1的矩阵
np.eye(4)

结果为

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

生成元素间隔为某一常数的矩阵(这个例子里,元素从2开始,到12结尾,间隔设置为2,但是输出不包括12)

#从2开始到12为止(不包括12),每隔2个数出现
np.arange(2,12,2)

结果为

array([ 2,  4,  6,  8, 10])

同理可以生成元素可以被等分的矩阵,利用linspace函数,将从0到10的元素等分为3份

#linspace(a,b,c)代表,从a到b,按照c进行等分

np.linspace(0,10,3)

结果为

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

再试一次,将从0到10的元素等分为5份

np.linspace(0,10,5)

结果为

array([ 0. ,  2.5,  5. ,  7.5, 10. ])


对于矩阵的生成方法基本介绍完了,下一节将会介绍,如果对numpy生成的array进行计算~

谢谢

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值