03.Python代码NumPy-通过numPy来创建不同数组
03.Python代码NumPy-通过numPy来创建不同数组
提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是Python基础语法。前后每一小节的内容是存在的有:学习and理解的关联性,希望对您有用~
python语法-numPy 第三节 :通过numPy来创建不同数组
上一小节详细分享了NumPy的数据类型,如:‘i4’,‘i2’。因为本小节会用到,如果不熟悉可以,已经存在了NumPy数据对象,仅仅只是转换一下数据类型dtype,也在:
NumPy的数据类型及dtype对象
文章目录
- 03.Python代码NumPy-通过numPy来创建不同数组
- 一、其他方法
- empty
- zeros
- ones
- 二、asarray方法
- 三、arange方法
- 四、linspace方法
一、其他方法
ndArray 数组除了可以使用底层 ndarray 构造器来创建外,也可以通过以下三种方式来创建。三个方法可以创建特殊有特点的数组。
numpy.empty(指定大小)
numpy.zeros(指定大小,用0填充)
numpy.ones(指定大小,用1填充)
empty
创建对应大小的数据类型矩阵。数据采用随机值来填充。
np.empty(shape,dtype,order)
shape 大小 x*x的矩阵
dtype 数据类型
order 有"C"和"F"两个选项,分别代表:行优先和列优先。在计算机内存中的存储元素顺序
import numpy as nparr = np.empty([3,2],dtype=float,order='C')
#[3,2] 三行两列
#没有指定元素,所以用随机数字在填充
print(arr)
运行结果:
zeros
创建对应大小的数据类型矩阵。数据采用0来填充。
np.zeros(shape,dtype,order)
shape 大小 x*x的矩阵
dtype 数据类型
order 有"C"和"F"两个选项,分别代表:行优先和列优先。在计算机内存中的存储元素顺序
#第一种情况/写法#不写数据类型,默认是float
arr01 = np.zeros([3,2])
print(arr01)
不填写数据类型,默认是float:
#第二种情况/写法#第一个参数(4,) 是需要生成一个一维数组里面有4个元素
arr02 = np.zeros((4,),dtype=int)
print(arr02)
运行为:
#第三种情况/写法#分别设置x和y的数据类型,i4就是int32.上一小节numpy各种数据类型有分享
arr03 = np.zeros((2,2),dtype=[('x','i4'),('y','i4')])
print(arr03)
运行为:
ones
创建对应大小的数据类型矩阵。数据采用1来填充。
np.ones(shape,dtype,order)
shape 大小 x*x的矩阵
dtype 数据类型
order 有"C"和"F"两个选项,分别代表:行优先和列优先。在计算机内存中的存储元素顺序
#默认数据类型是float
arr01 = np.ones(5)
print(arr01)
#三行两列
arr02 = np.ones([3,2],dtype=int)
print(arr02)
二、asarray方法
任意数据类型 --转-as–》NumPy
asarray(obj,dtype,order)
obj 可以传递任意数据类型:列表,列表里面带元祖,元祖,元祖带元祖,多维数组等等
dtype 数据类型(是否需要转类型)
order 有"C"和"F"两个选项,分别代表:行优先和列优先。在计算机内存中的存储元素顺序
#我是列表
l = [1,2,3]
arr01 = np.asarray(l)
print(arr01)#运行:[1, 2, 3] 这不还是
#有啥用
#arr01 是NumPy类型的 带若干计算处理数学方法的呀~
print(arr01+1)
运行:
#我是元祖
e = (1,2,3)
arr02 = np.asarray(e)
print(arr02)
#我是列表带元祖
le = [(1,2,3),(4,5,6)]
arr03 = np.asarray(le)
print(arr03)#多维数组
#我是列表
list_int = [1,2,3]
arr04 = np.asarray(list_int,dtype=float)
print(arr04)#转一个数据类型
运行为:
三、arange方法
返回一个范围的数组
np.arange(start,stop,step,dtype)
start 起始值,不传递默认从0开始
stop 结束值,不包含这个值本身
step 步长/增长 ,不传递默认是1
dtype 数据类型
#只给一个数据,就是结束值。起始默认0,步长默认1,数据类型是int
array01 = np.arange(5)
print(array01)
运行:
#指定数据类型
array02 = np.arange(5,dtype=float)
print(array02)
运行:
#从10开始,到20结束。步长每次增长2
array03 = np.arange(10,20,2)
print(array03)
运行:
四、linspace方法
返回/创建一个一维数组,数组是一个等差数列构成的
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
start 序列的起始值
stop 序列的终止值,如果 endpoint 为 true,该值包含于数列中
num 要生成的等步长的样本数量,默认为50
endpoint 该值为 true 时,数列中包含 stop 值,反之不包含,默认是True。
retstep 如果为 True 时,生成的数组中会显示间距,反之不显示。
dtype ndarray 的数据类型。默认是float
#从1开始,到10结束,生成10个数据。
arr01 = np.linspace(1,10,10)
print(arr01)
运行为:
#起始和结束一样。为:元素全是1的等差数列
arr02 = np.linspace(1,1,10)
print(arr02)#结果:[1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. ]#从10开始,20结束。5个等差数列
#endpoint=False 不包含结束值
#endpoint=True 包含结束值 就是[10. 12.5 15. 17.5 20] 等差数列
arr03 = np.linspace(10,20,5,endpoint=False)
print(arr03)#结果:[10. 12. 14. 16. 18.]
运行:
分享的常用方法,其实还有很多,后期我也可以继续补充,把官网放这里
NumPy官网
(会陆续更新非常多的IT技术知识及泛IT的电商知识,可以点个关注,共同交流。比心)