Numpy学习笔记——创建ndarray数组的方法总结

本文介绍了NumPy库中创建数组的各种方法,包括一般创建(array)、空数组(empty)、零数组(zeros)、一数组(ones)、通过已知数组生成(asarray)、范围数组(arange)、等差数组(linspace)、等比数组(logspace),以及从缓冲区(frombuffer)和迭代器(fromiter)创建数组。文章适合初学者,对各方法的参数和使用场景进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        前言:初学者一只,内容仅为学习的总结,可能存在不全面、有错误等情况,望海涵并加以斧正。对于笔记中的一些内容,作者也是不知所以然,也望各路大佬解惑。

目录

一、一般创建(array):

二、空数组(empty):

三、零数组(zeros):

四、一数组(ones):

五、通过已知数组生成(asarray):

六、范围数组(arange):

七、等差数组(linspace):

八、等比数组(logspace):

九、其他数组(frombuffer、fromiter):


一、一般创建(array):

        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

二、空数组(empty):

        x = np.empty(shape, detype = np.float64, order = 'C')

名称描述可选性
shape数组的形状

必填

        其他参数上文有表,此处不多赘述。

        注1:若是一维数组,shape单填一个数字即可;若是多维数组,则需以[m,n,...]的形式来表示 shape。

        注2:生成空数组时,其内容可能是一串奇怪的数字,但若对其进行一次加减运算,其性质又类似于零数组。但是其生成好像有点玄学,有时候又会生成规律的数组,暂时没太弄懂。

三、零数组(zeros):

        x = np.zeros(shape, detype = np.float64, order = 'C')

        生成全为 0 的数组

四、一数组(ones):

        x = np.ones(shape, detype = np.float64, order = 'C')

        生成全为 1 的数组

五、通过已知数组生成(asarray):

        x = np.asarray(a, dtype = None, order = None)

名称描述可选性
a已知数组必填

六、范围数组(arange):

        x = np.arange(start = 0, stop, step = 1, dtype = None)

名称描述可选性
start起始值可选
stop终止值(不包含)必填
step步长可选

七、等差数组(linspace):

        x = np.linspace(start, stop, num = 50, endpoint = True, restep = False, dtype = None)

名称描述可选性
num生成的样本数量可选
endpoint是否包含终止值可选
restep是否展示公差

可选

八、等比数组(logspace):

        x = np.logspace(start, stop, num = 50, endpoint = True, base = 10.0, dtype = None)

名称描述可选性
base底数可选

        注:起始值 = base**start;终止值 = base**stop

九、其他数组(frombuffer、fromiter):

        x = np.frombuffer(buffer, dtype = np.float64, count = -1, offest = 0)

        x = np.fromiter(iterable, dtype, count = -1)

        是的,我之所以把这两种方法归在“其他”一类当中,就是因为我不懂,我甚至不知道 buffer 和 iterable 是什么。


        欢迎大家 参考、补充、答疑、斧正。

        六月渔烬 文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六月渔烬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值