环境配置

anaconda + jupyter notebook

numpy语法

  • import numpy as np

创建数组

import numpy as np
a = np.linspace(1, 10, 10)#返回浮点类型
b = np.arange(1, 11, 1) #返回整数类型
c = np.array([2.1, 3.1, 4.1], dtype="int64") #返回整数类型
print(a)
print(b)
print(c)
#[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]
#[ 1  2  3  4  5  6  7  8  9 10]
#[2 3 4]

基本运算

import numpy as np
a = np.array([[1, 2],
              [3, 4]],
              dtype="int")
b = np.array([[5, 6],
              [7, 8]],
              dtype="int")
print(a.dot(b))#进行矩阵乘法
#[[19 22]
# [43 50]]
import numpy as py
a = np.array([1, 2, 3], dtype="int")
b = np.array([4, 5, 6], dtype="int")
a += b
print(a)
a -= b
print(a)
#[5 7 9]
#[1 2 3]
import numpy as np
a = np.array([[1, 2, 3], [-1, 5, 8]], dtype="int")
print(a.max(axis=0))#axis=0对每一列取max,axis=1对每一行取max
print(a.min())#默认是对所有元素取min
#[1 5 8]
#-1

索引、切片与迭代

import numpy as np
#一维数组
a = np.arange(10) ** 3 #生成三的幂的数组
print(a[1])#1
print(a[0:5]) #[ 0  1  8 27 64]
print(a[1:5:2])#[ 1 27]
print(a[::-1])#[729 512 343 216 125  64  27   8   1   0]


#二维数组
tot = 0
b = np.ones((3, 4), dtype=np.int32)
for i in range(0, 3):
    for j in range(0, 4):
        tot += 1
        b[i, j] = tot
print(b)
#[[ 1  2  3  4]
#[ 5  6  7  8]
#[ 9 10 11 12]]
print(b[1, 2])#7
print(b[0:3, 1])#每行第一个元素[ 2  6 10]
print(b[0:3, 0:4])#原数组
print(b[0:3, :])#原数组
print(b[:, :])#原数组
print(b[1,...])#相当于print(b[1, :])

PyTorch入门


一只菜鸡