03numpy基础1

2019-01-12  本文已影响13人  bad_boy

NumPy是一个功能强大的Python库,主要用于对多维数组执行计算,其提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。

1导入NumPy

import numpy as np

2生成NumPy数组

np.array() 接收Python 列表作为参数,生成NumPy数(numpy.ndarray)

array = np.array([1.0, 2.0, 3.0])
print(array,type(array))

3广播

广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。
如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的长度相同。


广播
list_a = np.array([[1, 2], [3, 4]])
list_b = np.array([10, 20])
print(list_a * list_b)

4访问元素

X = np.array([[51, 55], [14, 19], [0, 24]])
for row in X:
    print(row)

x= X.flatten()  #将X转换为一维数组
print(x)        #[51 55 14 19  0 24]
print(x[np.array([0, 2, 4])]) ## 获取索引为0、2、4的元素
print(x>15)     #[ True  True False  True False True]
print(x[x>15])  #[51 55 19 24]

5数组/矩阵转置运算

数据要转置一个矩阵,只需使用一个数组对象的T属性。
下面是转置常用的一些方法

moveaxis(a, source, destination) 将数组的轴移动到新位置。
rollaxis(a, axis[, start]) 向后滚动指定的轴,直到它位于给定位置。
swapaxes(a, axis1, axis2) 交换数组的两个轴。

ndarray.T 与self.transpose() 相同,只是如果self.ndim < 2 则返回self。

transpose(a[, axes]) 置换数组的维度。

import numpy as np

x = np.array([[1,2], [3,4]])
print(x)    # Prints "[[1 2]
            #          [3 4]]"
print(x.T)  # Prints "[[1 3]
            #          [2 4]]"

# Note that taking the transpose of a rank 1 array does nothing:
v = np.array([1,2,3])
print(v)    # Prints "[1 2 3]"
print(v.T)  # Prints "[1 2 3]"

Numpy提供了许多用于操作数组的函数;你可以在这篇文档中看到完整的列表。

参考:

NumPy 中文文档
NumPy 菜鸟教程

上一篇 下一篇

猜你喜欢

热点阅读