Numpy常用API

NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型。 它描述相同类型的元素集合。 可以使用基于零的索引访问集合中的项目。

创建

import numpy as np

np.array([1,2,3])               # 创建一维数组
np.array([1,2,3],[4,5,6])       # 创建二维数组
np.zeros((3,4))                 # 创建三行四列的0数组
np.ones((3,4))                  # 创建三行四列的1数组
np.full((3,4), 2)               # 创建三行四列的数组,全部填充为2
np.arange(5)                    # 创建一维等差数组,0-4
np.arange(6).reshape(2,3)       # 创建一维等差数组0-5,再变成二行三列矩阵
np.eye(3)                       # 创建3x3单位矩阵数组
np.random.rand(2,3)             # 创建二行三列随机数组(随机数在0-1之间)
np.random.randint(5, size=(2,3))# 创建二行三列随机整数数组,随机数小于5

运算

a = np.array([10, 20, 30, 40, 50])
b = np.arange(1, 6)
a, b

np.sum(a)                       # 对所有数据求和
np.sum(a, axis=0)               # 按列求和(行1列0)
np.sum(a, axis=1)               # 按行求和
np.mean(a)                      # 取平均值
np.tile(a, (1,2))               # 横向拼接,一行两列,横向复制一遍
a.argsort(axis=0)               # 将元素按列从小到大排序,返回对应为元素的原下标(行1列0)
a + - * /  b                    # 数组加减乘除,只是点乘,不是矩阵乘法
np.dot(a, b)                    # 矩阵乘法
np.mat(A) * np.mat(B)           # 变成矩阵后,*为矩阵乘法
a.T                             # 转置
np.linalg.inv(a)                # 矩阵求逆

# 广播
a = np.array([[1, 2, 3],
             [4, 5, 6],
             [7, 8, 9]])
b = np.array([1, 2, 3])

a + np.tile(b, (3,1))           # 将b广播成三行一列然后加上a
a + b                           # numpy 自动实现广播功能

索引

a[1,2]                          # 一行二列的数
a[-2:, 1:3]                     # 取倒数第二行到最后一行, 第二列到第三列
a[np.arange(3), 1] += 10        # 给a数组的第二列上的每个数加上10
np.arange(10)                   # 从0开始生成10个数
np.arange(3,7)                  # 生成3-6之间的数 左闭右开
a[a > 10]                       # 获取数组中满足某个条件的数

元素数据类型

a.dtype                         # 查看数组的数据类型
a.astype(np.float)              # 转换数据类型

你可能感兴趣的:(Python,python,numpy)