python的Numpy模块(1)

Numpy是Python数值计算最重要的基础包。⼤多数提供科学计算的包都是⽤NumPy的数组作为构建基础。可以⾼效处理⼤数组的数据,是NumPy数值计算特别重要的原因之⼀。他的部分功能有:
(1)ndarray,⼀个具有⽮量算术运算和复杂⼴播能⼒的快速且节省空间的多维数组。
(2)⽤于对整组数据进⾏快速运算的标准数学函数(⽆需编写循环)。
(3)⽤于读写磁盘数据的⼯具以及⽤于操作内存映射⽂件的⼯具。
(4)线性代数、随机数⽣成以及傅⾥叶变换功能。

NumPy最重要的⼀个特点就是其N维数组对象(即ndarray),该对象是⼀个快速⽽灵活的⼤数据集容器。你可以利⽤这种数组对整块数据执⾏⼀些数学运算,其语法跟标量元素之间的运算⼀样。接下来了解一下numpy中的创建数组。

 。
创建数组(代码在jupyter中验证)
最简单的是使⽤array函数。它接受⼀切序列型的对象(包括其他数组),然后产⽣⼀个新的含有传⼊数据的NumPy数组。以⼀个列表的转换为例:

data1 = [6, 7.5, 8, 0, 1]
arr1 = np.array(data1)
arr1
#结果如下
array([6. , 7.5, 8. , 0. , 1. ])


可以采用数组的属性ndim函数和shape函数来查看数组的维度和shape,用dtype来查看数据类型

data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]
arr2 = np.array(data2)
arr2
arr2.ndim
arr2.shape
arr2.dtype
#对应的结果如下
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])
2
(2,4)
dtype('int32')


其次还有一些函数也可以新建数组。比如zero和ones分别可以构建制定长度或形状的全为0或全为1的数组。empty可以创建一个没有任何具体值的数组

np.zeros(10)
#输出array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

np.zeros((3, 6))
#输出array([[0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.]])

np.ones(6)
#输出array([1., 1., 1., 1., 1., 1.])

np.ones((3,6))
#输出array([[1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1.]])

np.empty((2, 3, 2))
#输出array([[[0., 0.],
        [0., 0.],
        [0., 0.]],

       [[0., 0.],
        [0., 0.],
        [0., 0.]]])
下面列出了⼀些数组创建函数。由于 NumPy 关注的是数值计算,因此,如果没有特别指定,数据类型基本都是float64 (浮点数)。

 

函数说明
array将输入数据(列表、元组、数组或其他序列类型)转换为ndarray.要么推断出dtype,要么特别指定dtype。默认直接复制输入数据。
asarray将输入转换为ndarray,如果输入本身就是一个ndarray就不进行复制。
arange类似于内置的range函数,但是返回的是一个ndarray而不是列表。
ones,ones_like根据指定的形状和dtype创建一个全为1数组。one_like以另一个数组为参数,并根据其形状和dtype创建一个全为1数组。
zeros,zeros_like类似于ones和ones_like,只不过产生的全是0数组而已。
empty,empty_like创建新数组,只分配内存空间但不填充任何值。
full,full_like用fill value 中的所有值,根据指定的形状和dtype创建一个数组。full_like使用另一个数组,用相同的形状和dtype创建。
eye,identity创建一个正方形的N小N单位矩阵(对角线为1,其余为0)。

今天的分享到此为止。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值