前言:初学者一只,内容仅为学习的总结,可能存在不全面、有错误等情况,望海涵并加以斧正。对于笔记中的一些内容,作者也是不知所以然,也望各路大佬解惑。
目录
一、一般创建(array):
二、空数组(empty):
三、零数组(zeros):
四、一数组(ones):
五、通过已知数组生成(asarray):
六、范围数组(arange):
七、等差数组(linspace):
八、等比数组(logspace):
九、其他数组(frombuffer、fromiter):
x = np.array(object, detype = None, copy = True, order = None, subok = False, ndmin = 1)
名称 | 描述 | 可选性 |
---|---|---|
object | 数组或嵌套的数列 | 必填 |
dtype | 数据类型 | 可选 |
copy |
对象是否需要复制 | 可选 |
order | 创建数组的样式,C_行、F_列、A_任意(默认) | 可选 |
subok | 默认返回一个与基类类型一致的数组 | 可选 |
ndmin | 指定生成数组的最小维度 | 可选 |
object 和 dtype 自然不需要过多的解释,至于 copy 、 order 和 subok 的作用,作者也没有搞清楚(至少现阶段没用到),这里解释一下 ndim:
x=np.array([1,2,3])
x=np.array([1,2,3],ndmin=1)
x=np.array([1,2,3],ndmin=0)
x=np.array([1,2,3],ndmin=-1)
# 以上结果均为 array([1,2,3])
# 可知:ndmin默认为1,当ndmin为0或负值时,结果也为1
x=np.array([1,2,3],ndmin=2)
# 以上结果为 array([[1,2,3]]) 即ndmin变为了2
x = np.empty(shape, detype = np.float64, order = 'C')
名称 | 描述 | 可选性 |
---|---|---|
shape | 数组的形状 | 必填 |
其他参数上文有表,此处不多赘述。
注1:若是一维数组,shape单填一个数字即可;若是多维数组,则需以[m,n,...]的形式来表示 shape。
注2:生成空数组时,其内容可能是一串奇怪的数字,但若对其进行一次加减运算,其性质又类似于零数组。但是其生成好像有点玄学,有时候又会生成规律的数组,暂时没太弄懂。
x = np.zeros(shape, detype = np.float64, order = 'C')
生成全为 0 的数组
x = np.ones(shape, detype = np.float64, order = 'C')
生成全为 1 的数组
x = np.asarray(a, dtype = None, order = None)
名称 | 描述 | 可选性 |
---|---|---|
a | 已知数组 | 必填 |
x = np.arange(start = 0, stop, step = 1, dtype = None)
名称 | 描述 | 可选性 |
---|---|---|
start | 起始值 | 可选 |
stop | 终止值(不包含) | 必填 |
step | 步长 | 可选 |
x = np.linspace(start, stop, num = 50, endpoint = True, restep = False, dtype = None)
名称 | 描述 | 可选性 |
---|---|---|
num | 生成的样本数量 | 可选 |
endpoint | 是否包含终止值 | 可选 |
restep | 是否展示公差 | 可选 |
x = np.logspace(start, stop, num = 50, endpoint = True, base = 10.0, dtype = None)
名称 | 描述 | 可选性 |
---|---|---|
base | 底数 | 可选 |
注:起始值 = base**start;终止值 = base**stop
x = np.frombuffer(buffer, dtype = np.float64, count = -1, offest = 0)
x = np.fromiter(iterable, dtype, count = -1)
是的,我之所以把这两种方法归在“其他”一类当中,就是因为我不懂,我甚至不知道 buffer 和 iterable 是什么。
欢迎大家 参考、补充、答疑、斧正。
六月渔烬 文