jupyter - numpy创建数组

一、简单创建数组

首先我们导入numpy给它起个别名np

import numpy as np

1.创建一维数组

n1=np.array([1,2,3])

这样我们就创建了一个一维数组n1

2.创建二维数组:

n2=np.array([[1,2],[3,4]])

这样我们就创建了一个二维数组n2

3.我们可以使用ndmin设置我们创建的数组是几维数组

n3=np.array([1,2,3],ndmin=3)

这里我们设置了ndmin为3,所以我们创建了一个三维数组n3

4.在里面我们还可以在创建数组时设置它的类型,使用dtype

n4=np.array([1,2,3],dtype=float)

这样数组里面的值就是我们指定的类型

二、数组复制

首先我们创建一个数组

n5=np.array([1,2,3])

通过复制数组创建新数组

n6=np.array(n5,copy=True)

这样我们就通过复制数组n5创建了数组n6,他们维数一样,值一样,类型一样,但是他们不相干扰,都是独立的个体

三、不同方式创建数组

  1. empty()

创建一个 指定维度和数据类型未初始化的数组

n7=np.empty([5,4],dtype=int)  
#[5,4]表示五行四列
#创建一个五行四列的数组,类型为int
  1. zeros()

创建一个指定维度,以0填充的数组

n8=np.zeros(3) 
#创建一个一维数组,输出结果默认是浮点类
  1. ones()

创建一个指定维度,以1填充的数组

n9=np.ones(3)
#创建一个以1填充的一维数组
  1. full()

创建一个指定数组,以指定的数值填充的数组

n=np.full((3,4),)
创建一个三行四列以8填充的数组,注意这里的是小括号不是中括号

三、从数值范围创建数组

1. 通过数值范围创建数组

写法:arange(起始,结束,步长,dtype=none)

n=np.arange(1,11,2)
#创建一个从1开始到11结束,步长为2的数组(不包含11)

2.通过linspace函数创建等差数列

写法:linspace(起始,结束,生成的数量,endpoint=True retstep=False)

endpoint:默认True,表示是否包含中间值

n=np.linspace(200,300,5)
#生成一个从200开始,到300结束的等差数列,数量为五个值。(包含300)

3.通过logspace函数创建等比数列

写法logspace(起始,结束,生成的数量,endooint=True,base=2,dtype=int)

base为对数log的底数

n=np.logspace(0,50,20,base=2,dtype=int)
生成一个从0开始到50,一共20个值的等比数列
(建议自己去尝试后理解如何意思)

四、生成随机数组

  1. np.random.rand:生成0到1之间的随机数组,包含0不包含1

n=np.random.rand(5)
#生成一个一列数组,数组内有五个值
####################
n1=np.ramdom.rand(2,4)
#生成一个2行4列的二维数组
  1. .np.random.randn:随机生成满足正态分布的数组

n=np.random.randn(3)
生成一个含有三个元素的一维数组
n1=np.random.randn(3,4)
#生成一个3行4列的二维数组
  1. np.random.randint:生成一定范围的随机数组,包含头不包含尾

n=np.random.randint(1,4,10)
#生成一个一维数组,数值大小在1到4之间,有10个数值
n1=np.random.randint(1,4.size=(2,3))
#生成一个2行3列的二维数组
  1. .np.random.normal:生成正态分布的随机数组

n=np.ramdom.normal(0,0.2,20)
#0表示以y轴为对称轴,
#0.2表示标准差,越大就越矮胖,越小越瘦高
#20表示产生20个
#生成一个一维数组
n1=np.ramdom.normal(0,0.2,size=(2,3))
#生成一个2行3列的二维数组

五、从已有的数组中生成数组

1.asarry(列表(元组),dtype=none)

n=np.asarry([1,2,3])
#通过列表创建数组
n=np.asarry([(1,2,3),(4,5,6)])
#创建二维数组

2.动态数组

frombuffer()

n=np.frombuffer(b'abasb',dtype='S1')
#b'abasb'为二进制形式
#S1表示单个字符串为一个字符

3.从迭代对象中建立数组对象

fromiter()

#可迭代对象
w=(i for i in range(6))
##################
n=np.fromiter(w,dtype='int')
#创建一个数组 
(建业自己去尝试)

4.empty_like函数

n=np.empty_like([[1,2],[3,4]])
#生成一个像给定的数组一样的数组,给的参数像是一个模板

5.zeros_like函数

n=np.zeros_like([[1,2],[3,4]])
#生成一个以0填充的像给的参数形式的数组

6.ones_like函数

n=np.ones_like([[1,2],[3,4]])
#生成一个以1填充的像给的参数形式的数组

7.full_like 函数

n=np.full_like([[1,2],[3,4]],3)
#生成一个用给定值填充的像给定参数一样的数组
#3为给定的值

可能表达的不清楚,请见谅

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值