• numpy数组索引、数组切片、数组形状修改、数组类型修改和数组去重


     一、numpy数组索引、切片

    • 直接进行索引,切片
    • 对象[:, :]:先行后列

    代码如下 

    1. a = np.array([[1, 2, 3], [11, 22, 33]]) # 二维数组
    2. a[1, [0,1,2]] # 索引
    3. a = np.array([[1, 2, 3], [11, 22, 33]]) # 二维数组
    4. a[1, 0:3] # 切片
    5. a2 = np.array([[[1,2,3],[4,5,6]], [[11,22,33],[44,55,66]]]) # 三维数组
    6. a2[1, 0, [0, 2]]
    7. a2 = np.array([[[1,2,3],[4,5,6]], [[11,22,33],[44,55,66]]]) # 三维数组
    8. a2[1, 0, 0:2] # 切片为左闭右开
    9. a2 = np.array([[[1,2,3],[4,5,6]], [[11,22,33],[44,55,66]]]) # 三维数组
    10. a2[0:2, 0:2, 1:2] # 切片为左闭右开

     操作演示如下

    二、numpy数组形状修改

    • ndarray.reshape(shape, order):返回一个具有相同数据域,但shape不一样的视图,行、列不进行互换
    • ndarray.resize(new_shape):修改数组本身的形状(需要保持元素个数前后相同),行、列不进行互换
    • ndarray.T:数组的转置,将数组的行、列进行互换

    代码如下

    1. a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 22, 33, 44, 55], [66, 77, 88, 99, 100]]) # 二维数组4×5
    2. a.reshape([5,4]) # # 数组的形状被修改为5行4列,总共20个元素,5×4=20
    3. a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 22, 33, 44, 55], [66, 77, 88, 99, 100]]) # 二维数组
    4. a.reshape([-1, 10]) # 数组的形状被修改为2行10列, -1: 表示通过待计算,2×10=20
    5. a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 22, 33, 44, 55], [66, 77, 88, 99, 100]]) # 二维数组4×5
    6. a.resize(2, 10) # 数组的形状被修改为2行10列
    7. a.shape # 输出:(2, 10)
    8. a
    9. a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 22, 33, 44, 55], [66, 77, 88, 99, 100]]) # 二维数组
    10. a.T # 数组的转置
    11. a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 22, 33, 44, 55], [66, 77, 88, 99, 100]]) # 二维数组
    12. a.T.shape # 数组的转置

    演示如下

    三、numpy数组类型修改和数组去重

    • ndarray.astype(type):返回修改了类型之后的数组
    • ndarray.tostring([order])或ndarray.tobytes([order]):构造包含数组中原始数据字节的Python字节
    •  np.unique():数组去重

     使用方法代码如下

    1. a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 22, 33, 44, 55], [66, 77, 88, 99, 100]]) # 二维数组
    2. a.astype(np.string_)
    3. a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 22, 33, 44, 55], [66, 77, 88, 99, 100]]) # 二维数组
    4. a.tobytes()
    5. a = np.array([[1, 2, 6, 4, 9], [6, 3, 4, 9, 2]]) # 二维数组
    6. np.unique(a)

    演示结果如下

    学习导航:http://xqnav.top/

  • 相关阅读:
    使用Docker搭建自己的Bitwarden密码管理服务
    Ubuntu QtCreator不能输入中文,可以从其他位置复制中文
    详解RFC 793文档-1
    个人投资建设新能源汽车充电桩充电站怎么样?多久能实现回本盈利?
    阿尔巴尼亚借助ChatGPT加快欧盟入会进程
    测试修改和删除用户功能、测试查询功能
    nginx的安装及使用
    网络基础1:网络初始与网络套接字通信
    如何构建phantomjs的docker镜像
    通过FXmlFile构建xml时,注意xml规范
  • 原文地址:https://blog.csdn.net/qq_43874317/article/details/128008833