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

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

目录

一、一般创建(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 是什么。


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

        六月渔烬 文

你可能感兴趣的:(Numpy学习笔记,python,numpy)