机器学习中的numpy的array_机器学习之Numpy-第1章ndarray多维数组对象

本文详细介绍了Numpy库中的核心数据结构——ndarray,包括如何创建、操作和理解ndarray的特性。通过实例展示了如何使用列表、嵌套列表创建数组,以及数组的形状、数据类型等属性。还涵盖了ndarray与其他数据类型的运算,以及索引、切片和布尔型索引的操作。此外,讨论了花式索引和数组转置的概念,这对于在机器学习中处理多维数据至关重要。
摘要由CSDN通过智能技术生成

Numpy(Numerical Python的简称)是高性能科学计算和数据分析的基础包。它是所有高级工具的构建基础,Pandas就是构建在Numpy之上。

Numpy最重要的一个特点就是N维数组对象(ndarray),其是一个快速而灵活的大数据集容器。可以利用这个数组对整块数据执行一些数据运算,其语法和标量元素之间的运算类似。

ndarray是一个通用的同构数据多维容器,其中的所有元素必须是相同类型的。

1.创建ndarray

列表

In [1]:

import numpy as np

data1 = [6,7,4,5,0,1,8]

nda = np.array(data1)

nda

Out[1]:

array([6, 7, 4, 5, 0, 1, 8])

嵌套列表

In [2]:

data2 = [[1,2,3],[4,5,6]]

ndb = np.array(data2)

ndb

Out[2]:

array([[1, 2, 3],

[4, 5, 6]])

除非显示说明,narray会尝试为新建的这个数组推断一个较为合适的数据类型。

每个数组都有一个shape(表示各维度大小的元组)

In [6]:

ndb.shape

Out[6]:

(2, 3)

和一个dtype(用于说明数组数据类型的对象)

In [12]:

ndb.dtype

Out[12]:

dtype('int64')

还有一些其他函数可以创建ndarray

In [9]:

np.ones([2,3],dtype='int64')

Out[9]:

array([[1, 1, 1],

[1, 1, 1]])

In [4]:

np.zeros([2,3])

Out[4]:

array([[0., 0., 0.],

[0., 0., 0.]])

1.1.数据创建函数

函数

说明

array

将输入数据(列表,元组,数组或其他序列类型)转换为ndarray。要么推断出dtype,要么显示指定dtype。默认直接复制输入数据。

asarray

将输入转换为ndarray,如果输入本身就是yigendarray就不进行复制。

arange

类似于内置的rangge,但是返回一个ndarray而不是列表

ones,ones_like

根据指定的形状和dtype创建一个全1数组。ones_like以另一个数组为参考,并根据其形状和dtype创建一个全1数组。

zeros,zeros_like

类似于ones和ones_like,只不过产生的全是0数组而已

empty,empty_like

创建新数组,只分配内存空间但不填充任何值。

eye,identity

创建一个正方的N*N单位矩阵(对角线为1,其余为0)

ndarray的数据类型

dtype(数据类型)是一个特殊的对象,它包含有ndarray将一块内存解释为特定数据类型所需的信息。

In [1]:

import numpy as np

arr1 = np.array([1,2,3],dtype=np.float64)

arr2 = np.array([1,2,3],dtype=np.int64)

arr1.dtype

Out[1]:

dtype('float64')

In [2]:

arr2.dtype

Out[2]:

dtype('int64')

类型

类型代码

说明

int8,uint8

i1,u1

有符号和无符号的8位(1个字节)整型

int16,uint16

i2,u2

有符号和无符号的16位(2个字节)整型

int32,uint

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值