python -- numpy --创建Ndarray数组对象

目录

1.array()函数

2.asarray() 函数

3.empty()函数

4.zeros()函数

5.Ones()函数

6.full()函数

7.eye()函数

8.arange()函数

9.frombuffer()函数

10.fromiter()函数

11.linspace()函数

12.logspace()函数

13.random.rand()

14.random.random()

15.random.randint()

16.random.randn()

17.random.normal()


说明

numpy 默认ndarry 的所有元素的类型是相通的 这一点与python中的list不同

如果传进来的列表中包含不同的类型 则统一为同一类型 优先级 str>float >int

1.array()函数

原型:numpy.array(object,dtype = None ,copy = True, order = None,subok = False, ndmin = 0)

作用:创建Ndarray数组对象

参数        说明
object数组或嵌套的数列
dtype数组元素的数据类型,可选
copy对象是否需要复制,可选
order创建数组的样式,C为行方向,F为列方向 A为任意方向(默认)
 subok           默认返回一个基类类型一致的数组
ndmin指定生成数组的最小维度
# 一维数组
print("一维数组")
import numpy as np

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

print(arr)

print(type(arr))
print("----------")
# 元素类型要相同
print("元素类型要相同")
arr = np.array([1, 2, 3, 4, 4.5])
print(arr)
print("-----------")
# 多维数组
print("多维数组")
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr2)

arr = np.array([1,2,3,4,5,6,7,8,9,0], ndmin =2)
print(arr)
print("--------")

#dtype 参数
print("#dtype 参数")
arr = np.array([1,2,3,4,5],dtype ='f')
print(arr)
一维数组
[1 2 3 4 5]
<class 'numpy.ndarray'>
----------
元素类型要相同
[1.  2.  3.  4.  4.5]
-----------
多维数组
[[1 2 3]
 [4 5 6]]
[[1 2 3 4 5 6 7 8 9 0]]
--------
#dtype 参数
[1. 2. 3. 4. 5.]
结构化数据类型
[(b'sunck', 18, 0.)]

Process finished with exit code 0

2.asarray() 函数

原型:numpy.asarray(a,dtype = None, order = None)

作用;类似numpy.array 但 numpy.asary只有三个 比 numpy.array少2个

参数数据
a任意形式的输入参数 可以使 列表 列表的元组 元组 元组的元组 元组的列表 多维数组
dtype        数据类型 可选
order               可选 有'C'和‘F’两个选项 分别代表 行有限优先和列优先 在计算机内存中的存储元素的顺序
import numpy as np
x = [1,2,3,4,5]
arr =np.asarray(x)
print(arr)

[1 2 3 4 5]

元组也可以

import numpy as np
arr = np.asarray([1,2,3,4,5],dtype = 'f')
print(arr)

[1. 2. 3. 4. 5.]

3.empty()函数

原型: numpy.empty(shape,dtype = float ,order = 'C')

作用:创建一个指定形状(shape)、数据类型(dtype)且为初始化的数组

参数说明
shape      数组形状
dtype数据类型 可选
order有“C”和“F”两个选项 分别代表 行优先 和列优先 在计算机内存中的存储元素的顺序
import numpy as np
arr = np.empty([3,2],dtype= int)
print(arr)
[[   0 2043]
 [   1    8]
 [  24    8]]

4.zeros()函数

原型:numpy.zeros(shape , dtype = float ,order ='C')

作用:创建指定大小的数组,数组元素以0来填充

参数说明
shape数组形状
dtype数据类型,可选
order‘C’ 用于C 的行数组 或者‘F’ 用于FORTRAN的列数组
import numpy as np
arr = np.zeros([3,2])
print(arr)
[[0. 0.]
 [0. 0.]
 [0. 0.]]
arr = np.zeros([2,2],dtype = [('x','<i4'),('y','<f4')])
print(arr)
[[(0, 0.) (0, 0.)]
 [(0, 0.) (0, 0.)]]

5.Ones()函数

原型:numpy.ones(shape ,dtype = None, order ='C' )

作用:创建指定形状的数组,数组元素以1来填充

参数说明
shape数组形状
dtype数据类型,可选
order‘C’ 用于C的行数组,或者‘F’用于FORTRAN的列数组
import numpy as np 
arr = np.ones(5)
print(arr)
[1. 1. 1. 1. 1.]

6.full()函数

原型: numpy.full(shape , fill_value, dtype = None , order = 'C')

作用:创建指定形状的数组,数组元素以fill_value来填充

参数说明
shape数组形状
fill_value填充的数据
dtype数据类型,可选
order‘C’用于C的行数组,或者‘F’用于FORTRAN的列数组
arr = np.full(5,fill_value = 1024)
arr
array([1024, 1024, 1024, 1024, 1024])

7.eye()函数

原型:numpy.eye(N, M = None, k = 0, dtype = float, order = 'C')

作用:对角线为1 其他的位置为0

参数说明
N行数量
M列数量,默认等于行数量,可选
dtype数据类型,可选
order'C'用于C的行数组,或者‘F’用于FOR TRAN的列数组
arr = np.eye(10,dtype= int)
arr
array([[1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 1, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 1]])

8.arange()函数

原型:numpy.arange(start ,stop ,step ,dtype)

作用:创建数值范围并返回ndarry对象,根据start 与stop 指定的范围以及step 设定的步长

生成一个ndarray

参数说明
start起始值,默认为0
stop终止值(不包含0)
step步长,默认为1
dtype返回ndarry的数据类型,如果没有提供,则会使用输入数据的类型
arr = np.arange(1,11,1)
arr
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])

9.frombuffer()函数

原型:numpy.frombuffer(buffer,dtype =float ,count =-1 ,offset =0)

作用:用于实现动态数组,接收buffer输入参数,以流的形式读入转化成ndarray对象

注意:buffer是字符串的时候, python3 默认str 是Unicode 类型 所以要专程 bytesring 在原str前加上b

参数说明
buffer可以是任意对象,会以流的相识输入
dtype返回数组的数据类型,可选
count读取的数据数量 默认为-1 读取所有数据
offset读取的起始位置 默认为0

x = b'sunck is a  good man'
arr = np.frombuffer(x,dtype ='S1')
arr
array([b's', b'u', b'n', b'c', b'k', b' ', b'i', b's', b' ', b'a', b' ',
       b' ', b'g', b'o', b'o', b'd', b' ', b'm', b'a', b'n'], dtype='|S1')

10.fromiter()函数

原型:numpy.fromiter(iterable ,dtype ,count =-1)

作用:从可迭代对象中建立 ndarry对象 返回一维数组

参数说明
iterable可迭代对象
dtype返回数组的数据类型,可选
count读取的数据数量,默认为-1,读取所所有数据
x = [1,2,3,4,5]
z =iter(x)
print(z)
arr = np.fromiter(z,dtype ='f')

arr
<list_iterator object at 0x7fcb783c93d0>

Out[13]:

array([1., 2., 3., 4., 5.], dtype=float32)

11.linspace()函数

原型:numpy.linspace(start , stop , num =50 ,endpoint = True, retstep = False, dtype =None)

作用:创建一个以为数组,数组是一个等差数列构成的

参数说明
start序列的起始值
stop序列的终止值,如果endpoint为true,该值包含于数列中
num要生成的等步长的样本数量,默认为50
endpoint该值为true时,数列中包含stop值,反之不包含,默认是True
retstep如果为True时,生成的数组中会显示差距,反之不显示
dtypendarray的数据类型
arr = np.linspace(1,10,10,dtype ='i4')
arr
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10], dtype=int32)

12.logspace()函数

原型:numpy.logspace(start, stop, num = 50,endpoint =True, base = 10.0 ,dype = None)

作用:创建一个于等比数列

参数说明
start序列的起始值为:base**start
stop序列的终止值为:base**stop. 如果endpont为true,该值包含于数列中
num要生成的步长的样本数量,默认为50
endpoint该值为ture时,数列中包含stop值,反之不包含,默认为true
base对数log的地鼠 默认是10
dtypendarry的数据类型
arr = np.logspace(1.0,2.0,10)
arr
array([ 10.        ,  12.91549665,  16.68100537,  21.5443469 ,
        27.82559402,  35.93813664,  46.41588834,  59.94842503,
        77.42636827, 100.        ])

13.random.rand()

原型:rand(d0,d1,.......,dn)

作用:生成[0,1]之间的随机数

arr = np.random.rand()
arr
0.05875611774643763

生成一个有三个元素的一位数组,元素值在0到1之间

arr = np.random.rand(3)
arr
array([0.27878561, 0.72817482, 0.17982718])

生成一个二位数组,元素值在0-1之间

arr = np.random.rand(3,2)
arr
array([[0.54992584, 0.08506296],
       [0.60871734, 0.99821711],
       [0.42803026, 0.61660293]])

14.random.random()

原型:random ( size = None)

作用:生成【0,1)之间的额随机数

参数说明
size元素个数

生成0到1 之间的随机数

arr = np.random.random()
arr
0.9840879611212288

生成一个有三个元素的一位数据,元素值在0到1 之间

arr = np.random.random(3)
arr
array([0.67369198, 0.74069211, 0.60920471])

15.random.randint()

原型:randint(low,high = None, size =None ,dtype ='1')

作用:生成随机数

参数说明
low包含的下限
high不包含的上线
size元素个数
dtype元素类型
arr = np.random.randint(0,10,5)
arr
array([4, 3, 4, 8, 9])

16.random.randn()

原型:randn(d0,d1,....,dn)

作用:返回一个活一组样本,具有标准正态分布

标准正态分布:又称为u分布,是以0 为均值,以1为标准差的正态分布,记为N(0,1)

arr = np.random.randn()
arr
-1.1414739377078331
arr = np.random.randn(2,4)
arr
array([[-0.80908151, -0.07514705,  0.9225147 ,  1.84400937],
       [ 0.05844825, -0.48588642, -1.59403255,  1.22214548]])

arr = np.random.randn(4,3,2)
arr
array([[[-0.7047047 ,  0.67595339],
        [ 0.25381894, -0.30884362],
        [ 0.10062783,  1.67859585]],

       [[ 0.38110898,  1.39020551],
        [ 0.39189016, -0.6172444 ],
        [ 0.01228315, -1.27013794]],

       [[-0.15871977,  0.410679  ],
        [-0.18045481, -1.67201024],
        [ 0.23755189,  1.00059485]],

       [[-1.3966934 , -1.1147585 ],
        [ 0.30107808,  0.67909361],
        [-0.28202741,  0.31925221]]])

17.random.normal()

原型:normal(loc = 0.0 , scale = 1.0 ,size = None)

作用:生成高斯分布的概率密度随机数

参数说明
loc浮点型,此概率分布的均值(对应着整个分布的中心(centre)
scale浮点型,此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)
size输出的shape, 默认为None 只输出一个值
arr = np.random.normal(loc =1 ,scale =2 ,size =5)
arr
array([ 3.7937874 ,  3.32606996,  1.30048024, -4.17174501, -0.87267875])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值