盼望着,盼望着,网课停了,开学的脚步近了。今天竟然是520,什么?我仿佛明白了学无止境的道理,出门是不可能出门的,就是在家里写写笔记才可以维持得了生活这样子。闲言少叙,下面是正文部分。
1、Numpy创建数组
1.通过列表或元组转化
在普通python中,数组的形式可分为以下三种:
- 列表(list):[1, 2, 3]
- 元组(tuple):(1, 2, 3)
- 字典(dict):{a:1, b:2}
在numpy中,可以用numpy.array
将列表或元组转换成ndarray数组。具体形式为:numpy.array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)
参数解释: - object:输入对象列表、元组等。
- dtype:数据类型。如果未给出,则类型为被保存对象所需要的最小类型。
- copy:布尔类型,默认为True,表示复制对象。
- order:顺序。
- subok:布尔类型,表示子类是否被传递。
- ndmin:指定生成数组的最小维度。
程序示例:
import numpy as np
a = np.array([[1, 2], [3, 4, 5, ]])
print(type(a))
print(a)
输出结果:
<class 'numpy.ndarray'>
[list([1, 2]) list([3, 4, 5])]
2.arange函数创建数组
arange()
功能是在给定区间内创建等差数组,是使用频率较高的函数之一,多用于迭代。arange类似于普通python中的range函数,二者区别在于range的值一般会放在列表里,而arange会直接返回一个numpy数组。
range在python里可以说是基本操作了,其形式为:range(start,stop[,step])
三个参数分别是开始值、结束值和步长
,步长为当前值到下一个值的跨度,可以为正负数但不能为小数,负数表示的是倒序。
arange函数形式为:arange(start=None, stop=None, step=None, dtype=None)
,前两个参数同range一样,不同的是这里的step可以支持步长为小数,dtype:可选参数,设置返回ndarray的值类型。
下面是程序上的对比:
import numpy as np
a = range(5)
a1 = [i for i in a]#这里的x = [i for i in x]作用是把遍历到的值装进列表
print(type(a))
print(a1)
b = np.arange(5)
print(b)
b1 = np.arange(1,2,0.1)
print(b1)
输出结果:
<class 'range'>
[0, 1, 2, 3, 4]
[0 1 2 3 4]
[1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9]
从输出结果可以看出range和arange还是有区别的。
3.linspace生成等差数列
linspace方法是另一种生成数组的方法,它和arange一样可以在给定区间内生成n个间距相等的数,它与arange的不同之处在于,arange需要设定的是间距,根据间距来决定生成的数有多少个,而linspace需要设定的是生成多少个数,根据生成的数确定间距有多大,在这一点上两者正好相反。其具体形式为:numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
- start:数列的开始值。
- stop:数列的结束值。