姚慧扬

2020-07-20   阅读量: 706

python

ndarray的一些注意事项

扫码加入数据分析学习群

非常重要

# 每一个坐标轴 axis 都有一个编号

# 从外层到内层编号, 0, 1, 2 axis=0 axis = 1 axis=2

# 从内层到外层进行编号 -1, -2, -3 axis = -1, axis = -2 , axis = -3


# axis = 0 , axis = -3 是一个轴

# axis = 1, axis=-2 是一个轴

# axis = 2 axis = -1 是一个轴


关于数组切片有一点很重要也非常有用,那就是数组切片返回的是 数组数据的视图,而不是数值数据的副本。

这一点也是 NumPy 数 组切片和 Python 列表切片的不同之处:在 Python 列表中,切片是 值的副本。

如果不想修改原数组的内容,可以通过.copy()方法创建一个副本


同一个: 形状和数据都是相同的

视图(浅复制): 形状独立, 数据共享

副本(深复制): 形状独立, 数据独立, 没有任何关系了


技巧:在使用 reshape 时,可以将其中的一个维度指定为 -1,Numpy 会自动计算出它的真实值


无论是ravel、reshape、T,它们都不会更改原有的数组形状,都是返回一个新的数组。

也就是我们之前学过的浅复制


Numpy就是通过广播来进行高速的矢量化运算.

广播, 具有扩散的特点.在数组中的广播,含义就是一个数组在另外一个数组中进行的某种运算的扩散.

广播机制:Numpy 可以转换这些形状不同的数组,使它们都具有相同的大小,然后再对它们进行运算


需要注意的是,乘法运算符*的运算在NumPy数组中也是元素级别的(这与许多矩阵语言不同)。如果想要执行矩阵乘积,可以使用dot函数:

A*B # 元素乘积(elementwise product)

A.dot(B) # 矩阵相乘(matrix product)

np.dot(A, B) # 矩阵相乘的另一种方式(another matrix product)


作业

1.将列表放入Numpy数组

data=[2,3,4,5]

2.创建二维数组

data=[[1,2,3],[7,8,9]]

3.输出 arr 的数据类型


27.4900 1 2 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子