常用函数
import numpy as np
example_1d = np.ndarray([1,2,3,4,5,6]) # 返回一个多维数组
# 可简写为 np.array([1,2,3,4,5,6]) # 生成一维数组
example_1d.sum()
example_1d.max()
example_1d.min()
np.average(example_1d) # 平均值
# 生成二维数组
# 方式一:
example_2d = np.array([[1,2,3],
[4,5,6]])
# 方式二:
example_2d = example_1d.reshape(2,3) # 将一维数组强制转换为2*3的二维数组
# 一维数组和List切片一样
# 二维数组array_2d[行,列] = array_2d[:2,1:2] # 读取第1行和第2行的第2列的元素
# ------------------------------------------------------
>>> import numpy as np
>>> array_1d = np.array([1,2,3,4,5,6,7,8,9])#生成一维数组
>>> #将一维数组强制转化为二维数组
>>> array_2d = array_1d.reshape(3,3)#转化为3*3的二维数组
# -------------------------------------------------------
>>> array_1d.shape
(9,)
>>> array_2d.shape
(3, 3)
# -------------------------------------------------------
>>> array_2d
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# -------------------------------------------------------
>>> array_2d[:,0]#读取所有行的第一列
array([1, 4, 7])
>>> array_2d[1:,:1]
array([[4],
[7]])
>>> array_2d[1:,:2]
array([[4, 5],
[7, 8]])
向量化计算
>>> array_2d_1 = [[2],[2],[2]]
>>> array_2d_1 # 生成3*1的二维数组
[[2],
[2],
[2]]
>>> array_2d # 生成3*3的二维数组
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>> np.dot(array_2d,array_2d_1) # 使用dot()方法生成3*1的数组
array([[12],
[30],
[48]])
广播
>>> example = np.array([[1,2,3],[4,5,6]])
>>> example.shape
(2, 3)
>>> example
array([[1, 2, 3],
[4, 5, 6]])
>>> example+1 # 按照线性代数的知识,一个实数和矩阵是不能相加的
array([[2, 3, 4], # 但Numpy的广播功能就能自动实现矩阵中每一个元素的乘除加减
[5, 6, 7]]) # 这个功能对于数据科学计算很有用,不用去考虑复杂的循环实现
>>> example-1
array([[0, 1, 2],
[3, 4, 5]])
>>> example*2
array([[ 2, 4, 6],
[ 8, 10, 12]])
>>> example/2
array([[0.5, 1. , 1.5],
[2. , 2.5, 3. ]])