欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python数据分析numpy第二次作业20200821

程序员文章站 2022-07-08 20:23:50
...

numpy.ndarray练习

要求如下:
• 创建 22 的数组arr1 元素自定义
• 创建 2
23 的数组arr2 元素自定义
• 查看arr2的维度以及形状
• 将arr2转为1维
• 将arr1进行转置
• 生成 4
4 全为1的数组 arr3
• 生成 单位矩阵

创建 2*2 的数组arr1 元素自定义

import numpy as np

# 打印numpy.ndarray信息
def print_arr_details(msg:str,arr:np.ndarray):
    print(msg,':','ndim=',arr.ndim,'shape=',arr.shape,'vaule=',arr)


if __name__ == '__main__':

    #函数会维护一个特殊属性__annotations__,这是一个字典,其中的“键”是被注解的形参名,“值”为注解的内容
    print(print_arr_details.__annotations__) #{'msg': <class 'str'>, 'arr': <class 'numpy.ndarray'>}

    #创建 2*2 的数组arr1 元素自定义
    #(行,列)
    arr1_01 = np.array([[2,3],[5,6]])
    print_arr_details('arr1_01',arr1_01) #arr1_01 : ndim= 2 shape= (2, 2) vaule= [[2 3][5 6]]

    #reshape 一维转多维
    arr1_02 = np.array(range(10,30,6)).reshape(2,2)
    arr1_03 = np.arange(10,30,6).reshape(2,2)
    print_arr_details('arr1_02', arr1_02) #arr1_02 : ndim= 2 shape= (2, 2) vaule= [[10 16][22 28]]
    print_arr_details('arr1_03', arr1_03) #arr1_03 : ndim= 2 shape= (2, 2) vaule= [[10 16][22 28]]


    #创建 2*2*3 的数组arr2 元素自定义 (块,行,列)
    arr2_01 = np.array([[[ 1,1,2],[1,2,2]],[[2,1,1],[2,2,2]]])
    print_arr_details('arr2_01', arr2_01) #arr2_01 : ndim= 3 shape= (2, 2, 3) vaule= [[[1 1 2][1 2 2]][[2 1 1][2 2 2]]]

    arr2_02 = np.arange(0, 24, 2).reshape(2, 2, 3)
    print_arr_details('arr2_02', arr2_02)#arr2_02 : ndim= 3 shape= (2, 2, 3) vaule= [[[ 0  2  4][ 6  8 10]][[12 14 16][18 20 22]]]

matplotlib读取图片