美文网首页
Numpy组队学习 Task01打卡

Numpy组队学习 Task01打卡

作者: 萤窗小烛 | 来源:发表于2020-10-20 21:18 被阅读0次

    主要概念

    数据类型

    类型 解释
    bool 布尔类型,1 个字节,值为 True 或 False
    int 整数类型,通常为 int64 或 int32
    intc 与 C 里的 int 相同,通常为 int32 或 int64
    intp 用于索引,通常为 int32 或 int64
    int8 字节(从 -128 到 127)
    int16 整数(从 -32768 到 32767)
    int32 整数(从 -2147483648 到 2147483647)
    int64 整数(从 -9223372036854775808 到 9223372036854775807)
    uint8 无符号整数(从 0 到 255)
    uint16 无符号整数(从 0 到 65535)
    uint32 无符号整数(从 0 到 4294967295)
    uint64 无符号整数(从 0 到 18446744073709551615)
    float float64 的简写
    float16 半精度浮点,5 位指数,10 位尾数
    float32 单精度浮点,8 位指数,23 位尾数
    float64 双精度浮点,11 位指数,52 位尾数
    complex complex128 的简写
    complex64 复数,由两个 32 位浮点表示
    complex128 复数,由两个 64 位浮点表示

    数组创建

    • np.array(...) 传入序列型对象
    • np.asarray(...) 传入序列型对象
    • np.zeros(...) | np.ones(...) | np.empty(...) | np.full(...) 传入shape
    • np.arange(...) 创建一维等差数组
    • np.linspace(...) 创建一维等差数组
    • np.fromfunction(...) 在每个坐标上执行一个函数构建多维数组

    常用属性

    • a.shape 表征数组每一维度的元素数量
    • a.ndim 查看数组的维度
    • a.size 查看元素个数
    • a.dtype 描述数组的数据类型,一般默认为float64
    • a.T 数组的转置
    • a.I 数组的逆

    类型转换

    • a.astype(np.float64) 指定类型为np.float64
    • a.astype(b.dtype) 使用另一个数组的dtype属性

    时间日期

    在 numpy 中,可以很方便的将字符串转换成时间日期类型 datetime64

    datatime64是带单位的日期时间类型,其单位如下:

    日期单位 代码含义 时间单位 代码含义
    Y h 小时
    M m 分钟
    W s
    D ms 毫秒
    - - us 微秒
    - - ns 纳秒
    - - ps 皮秒
    - - fs 飞秒
    - - as 阿托秒
    • np.datetime64(...) 传入日期
    • np.arange(...) 创建datatime64数组,生成日期范围

    代码实践

    数组创建

    import numpy as np
    np.__version__
    
    '1.19.1'
    
    # np.array()
    a = np.array([[1, 2, 3, 4],
                  [5, 6, 7, 8],
                  [9, 10, 11, 12]])
    a
    
    array([[ 1,  2,  3,  4],
           [ 5,  6,  7,  8],
           [ 9, 10, 11, 12]])
    
    # np.asarray()
    a = np.asarray([[1, 2, 3, 4],
                    [5, 6, 7, 8],
                    [9, 10, 11, 12]])
    a
    
    array([[ 1,  2,  3,  4],
           [ 5,  6,  7,  8],
           [ 9, 10, 11, 12]])
    
    # np.zeros()
    a = np.zeros((3, 5), dtype=np.float64)
    # np.ones()
    b = np.ones((3, 5), dtype=np.float64)
    # np.full()
    c = np.full((3, 5), fill_value = 6)
    print('{}\n{}\n{}'.format(a, b, c))
    
    [[0. 0. 0. 0. 0.]
     [0. 0. 0. 0. 0.]
     [0. 0. 0. 0. 0.]]
    [[1. 1. 1. 1. 1.]
     [1. 1. 1. 1. 1.]
     [1. 1. 1. 1. 1.]]
    [[6 6 6 6 6]
     [6 6 6 6 6]
     [6 6 6 6 6]]
    
    # np.arange()
    # 一维等差数组
    a = np.arange(10)
    print(a)
    # 二维等差数组
    b = np.arange(10).reshape(2,-1)
    print(b, b.shape)
    
    [0 1 2 3 4 5 6 7 8 9]
    [[0 1 2 3 4]
     [5 6 7 8 9]] (2, 5)
    
    # np.linspace()
    a = np.linspace(0, 10, 6)
    print('在0~10之间生成6个等间隔点:\n',a)
    
    在0~10之间生成6个等间隔点:
     [ 0.  2.  4.  6.  8. 10.]
    
    # np.fromfunction()
    np.fromfunction(lambda i, j: i + j, (3, 3))
    
    array([[0., 1., 2.],
           [1., 2., 3.],
           [2., 3., 4.]])
    

    常用属性

    # 生成 (0, 1) 之间的3行5列的随机浮点数
    a = np.random.random((3,5))
    print(a)
    print(a.shape, a.ndim, a.size)
    
    [[0.72025953 0.18960102 0.80835388 0.63235447 0.75891856]
     [0.758877   0.24660297 0.36290307 0.08843709 0.69004692]
     [0.69120701 0.05848793 0.42020173 0.73492385 0.91556042]]
    (3, 5) 2 15
    
    np.prod(a.shape) == a.size
    
    True
    

    相关文章

      网友评论

          本文标题:Numpy组队学习 Task01打卡

          本文链接:https://www.haomeiwen.com/subject/oyrjmktx.html