python array函数_Python 读书笔记(容易误解的知识点)-Part 2

Python 读书笔记(容易误解的知识点)-Part 2

d1a5ec169caf7ad04db95f24fa1a6c66.png

上一篇 Python 读书笔记:

Python 读书笔记(容易误解的知识点)-Part 1

numpy中的ndarray与array的区别?

np.array 只是一个便捷的函数,用来创建一个ndarray,它本身不是一个类。

看看如下代码的输出:

import numpy as np

a = np.array([1,2,3,4,5])

print(a)

print(type(a))

输出结果:

[1 2 3 4 5]

na.array 是一个函数,用来创建一个ndarray;numpy.ndarry 则是一个类。

cf0bbf9db1999aea5e4c5248b8723884.png

numpy.ndarry

d08b984028f80928e4e149542b177a16.png

numpy数组ndarray和matrix矩阵之间有什么区别?

Numpy矩阵是严格的二维,而numpy数组(ndarray)是N维。 Matrix对象是ndarray的子类,因此它们继承所有ndarray的属性和方法。

np.asmatrix和np.asarray允许将一个类型转换为另一个类型(如只要数组是2维的)。

fcd2b1ff6e6d51ec22ed6d6d18611ee7.png

从上述官方文档来看,已不建议使用 matrix 类,建议使用正常的arrays,在将来 matrix 类可能会被移除。

看看下面的代码演示:

import numpy as np

a=np.mat('1 2 6; 3 4 7; 5 6 8')

print(a)

print(type(a))

np.matrix

b=np.array([[1,2,6],[3,4,7],[5,6,8]])

print(b)

print(type(b))

c=np.asmatrix(b)

print(type(c))

d=np.asarray(a)

print(type(d))

输出结果如下:

5d914b0f3ef9939c7f7dbb6028aace51.png

Python 中的range(),arange()函数区别?

分别看一下2个函数的用法。

(1)range()函数

函数说明: range(start, stop[, step]) -> range object,根据start与stop指定的范围以及step设定的步长,生成一个序列。

参数含义:

  • start: 计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);
  • end: 计数到end结束,但不包括end。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;
  • step:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1);

函数返回的是一个range object。

示例代码:

>>> range(0,5)

range(0, 5)

>>> c=[i for i in range(0,5)]

>>> c

[0, 1, 2, 3, 4]

>>> c=[i for i in range(0,5,2)]

>>> c

[0, 2, 4]

>>>

(2)arange()函数

函数说明:arange([start,] stop[, step,], dtype=None),根据start与stop指定的范围以及step设定的步长,生成一个 ndarray。

dtype : The type of the output array. If `dtype` is not given, infer the data type from the other input arguments.

>>> import numpy as np

>>> np.arange(5)

array([0, 1, 2, 3, 4])

>>> np.arange(5.0)

array([0., 1., 2., 3., 4.])

>>> np.arange(5,10)

array([5, 6, 7, 8, 9])

>>> np.arange(5,10,2)

array([5, 7, 9])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值