第十章、numpy模块

第十章、numpy模块

一、导入方式

import numpy as np#约定俗成

二、作用

数组或矩阵的运算

  1. numpy数组

    arr1 = np.array([1,2,3])    #创建一维数组对象
    arr1
    arr2 = np.array([[1,2,3],[4,5,6]])
    arr2                       #二维数组

    三维数组不用numpy模块,用TensorFlow、pytorch模块

  2. 属性

    属性解释
    T数组的转置(也就是行和列互换)
    dtype数组元素的数据类型
    size数组元素的个数(比如2行3列为6)
    ndim数组的维数
    shape数组的维度大小(以元组形式)(比如2行3列为(2,3))
    astype类型转换
    arr = np.array([[1, 2, 3], [4, 5, 6]])
    print(arr.T)  # 行与列互换   arr1.transpose()也是转置
    -------------------------------------------------------
    [[1 4]
     [2 5]
     [3 6]]

    ```

    切片

    arr = np.array([[1, 2, 3], [4, 5, 6]])
    print(arr[:]) #取出数组所有元素
    print(arr[:, :]) #取出数组所有元素

print(arr[0, :]) #取出第0行到第一行的数组
print(arr[0:1, :]) #取出第0行到第一行的数组,顾头不顾尾
print(arr[0:1, 0:1]) #取出第0行到第一行,第0列到第一列的数组,顾头不顾尾
print(arr[0, 0],type(arr[0, 0])) #取出第0行到第一行,第0列到第一列的数,输出数组类型
print(arr[0, [0,2]]) #取出第0行第0个元素和第2个元素 [1 3]
print(arr[0, 0] + 1) #取出第0行第0列的元素加1 2
```

#取值
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr[0, :] = 0    #将第0行的元素全部变为0
print(arr)
--------------------------------------------
[[0 0 0]
 [4 5 6]]
arr[1, 1] = 1  #将第一行第一列的数字改为1

arr[arr < 3] = 3  # 布尔取值   将小于3的数字全部变为3
print(arr)
#合并
arr1 = np.array([[1, 2, 3], [4, 5, 6]])  # 可变数据类型
arr2 = np.array([[7, 8, 9], [10, 11, 12]])  # 可变数据类型
-------------------------------------------------------
[[1 2 3]
 [4 5 6]]
[[ 7  8  9]
 [10 11 12]]

三、通过函数创建numpy数组

方法详解
array()将列表转换为数组,可选择显式指定dtype
arange()range的numpy版,支持浮点数
linspace()类似arange(),第三个参数为数组长度
zeros()根据指定形状和dtype创建全0数组
ones()根据指定形状和dtype创建全1数组
eye()创建单位矩阵
empty()创建一个元素全随机的数组
reshape()重塑形状

四、 numpy数组运算

方法详解
array()将列表转换为数组,可选择显式指定dtype
arange()range的numpy版,支持浮点数
linspace()类似arange(),第三个参数为数组长度
zeros()根据指定形状和dtype创建全0数组
ones()根据指定形状和dtype创建全1数组
eye()创建单位矩阵
empty()创建一个元素全随机的数组
reshape()重塑形状

五、重点

随机数种子:所有的随机数是按照随机数种子生成的

时间短则不变,时间长就变

np.random.seed(int(time.time()))

np.random.seed(1) #如果固定了就不会变

arr1 = np.random.rand(3,4) # 可变数据类型

print(arr1)
rs = np.random.RandomState(1) #产生一个随机状态种子,seed为1

print(rs.rand(3,4))

---------------------------------------------------------

[[4.17022005e-01 7.20324493e-01 1.14374817e-04 3.02332573e-01]

[1.46755891e-01 9.23385948e-02 1.86260211e-01 3.45560727e-01]

[3.96767474e-01 5.38816734e-01 4.19194514e-01 6.85219500e-01]]

转载于:https://www.cnblogs.com/demiao/p/11385746.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值