zoukankan      html  css  js  c++  java
  • 邱锡鹏nndl-chap1-warmup

    1.numpy的array操作

     1 #1.导入numpy
     2 import numpy as np
     3 import matplotlib.pyplot as plt 
     4 
     5 #2.建立一个一维数组 a 初始化为[4,5,6]
     6 #(1)输出a 的类型(type)(2)输出a的各维度的大小(shape)(3)输出 a的第一个元素(值为4)
     7 a=np.array([4,5,6])
     8 print(type(a))         
     9 print(a.shape)
    10 print(a[0])
    11 
    12 
    13 #3.建立一个二维数组 b,初始化为 [ [4, 5, 6],[1, 2, 3]] 
    14 #(1)输出各维度的大小(shape)(2)输出 b(0,0),b(0,1),b(1,1) 这三个元素(对应值分别为4,5,2)
    15 b=np.array([[4,5,6],[1,2,3]])
    16 print(b.shape)
    17 print(b[0,0],b[0,1],b[1,1])
    18 
    19 
    20 #4.(1)建立一个全0矩阵 a, 大小为 3x3; 类型为整型(提示: dtype = int)
    21 a=np.zeros((3,3),dtype=int)
    22 #(2)建立一个全1矩阵b,大小为4x5;
    23 b=np.ones((4,5))
    24 #(3)建立一个单位矩阵c,大小为4x4注意参数是n,而非shape  
    25 c=np.eye(4)             
    26 #(4)生成一个随机数矩阵d,大小为 3x2
    27 d=np.random.randn(3,2)
    28 
    29 
    30 #5.建立一个数组 a,(值为[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]] ) 
    31 #(1)打印a; (2)输出下标为(2,3),(0,0)这两个数组元素的值
    32 a=np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
    33 print(a)
    34 print(a[2,3],a[0,0])
    35 
    36 
    37 #6.把上一题的 a数组的 0到1行 2到3列,放到b里面去(直接调用a)
    38 #(1)输出b;(2)输出b的(0,0)这个元素的值¶
    39 b=a[:2,1:4]
    40 print(b)
    41 print(b[0,0])
    42 
    43 #7.把第5题中数组a的最后两行所有元素放到c中
    44 #(1)输出 c ; (2)输出c中第一行的最后一个元素
    45 c=a[-2:,:]
    46 print(c)
    47 print(c[0,-1])
    48 
    49 
    50 #8.建立数组a,初始化a为[[1, 2], [3, 4], [5, 6]],输出(0,0)(1,1)(2,0)这三个元素
    51 a=np.array([[1, 2], [3, 4], [5, 6]])
    52 print(a[[0, 1, 2], [0, 1, 0]])          #[[输出索引的第一个参数集合],[输出索引的第二个参数集合]]
    53 
    54 
    55 #9.建立矩阵a,初始化为[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]],输出(0,0),(1,2),(2,0),(3,1) 
    56 a=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
    57 print(a[np.arange(4), np.array([0, 2, 0, 1])])
    58 
    59 
    60 #10.对9中输出的那四个元素,每个都加上10,然后重新输出矩阵a.
    61 a[np.arange(4), np.array([0, 2, 0, 1])] += 10
    62 print(a)

    2.array的数学操作

     1 #1.执行 x = np.array([1, 2]),然后输出x的数据类型
     2 x=np.array([1, 2])
     3 print(x.dtype)
     4 
     5 
     6 #2.执行 x = np.array([1.0, 2.0]) ,然后输出x的数据类类型
     7 x=np.array([1.0, 2.0])
     8 print(x.dtype)
     9 
    10 
    11 #3.执行 x = np.array([[1, 2], [3, 4]], dtype=np.float64) ,y = np.array([[5, 6], [7, 8]], dtype=np.float64),然后输出 x+y和np.add(x,y)
    12 x = np.array([[1, 2], [3, 4]], dtype=np.float64)
    13 y = np.array([[5, 6], [7, 8]], dtype=np.float64)
    14 print(x+y)
    15 print(np.add(x,y))
    16 
    17 
    18 #4.利用3题目中的x,y 输出 x-y 和 np.subtract(x,y)
    19 print(x-y)
    20 print(np.subtract(x,y))
    21 
    22 
    23 #5.利用3题目中的x,y 输出 x*y,和 np.multiply(x, y)还有np.dot(x,y),比较差异。然后自己换一个不是方阵的试试
    24 print(x*y)                   #对应元素相乘
    25 print(np.multiply(x,y))      #对应元素相乘
    26 print(np.dot(x,y))           #矩阵乘法
    27 #不是方阵,如果x.shape=y.shape,可以执行x*y和np.multiply(x,y),维度符合矩阵乘法要求的可以进行矩阵乘法
    28 
    29 
    30 #6.利用3题目中的x,y,输出 x / y
    31 print(np.divide(x,y))
    32 print(x/y)
    33 
    34 
    35 #7.利用3题目中的x,输出x的开方。
    36 print(np.sqrt(x))
    37 print(x**0.5)
    38 
    39 #8.利用3题目中的x,y,执行 print(x.dot(y)) 和 print(np.dot(x,y)),结果相同
    40 print(x.dot(y))       
    41 print(np.dot(x,y))
    42 
    43 
    44 #9利用3题目中的x,进行求和。
    45 #输出三种求和 (1)print(np.sum(x)): (2)print(np.sum(x,axis =0 )); (3)print(np.sum(x,axis = 1))
    46 print(np.sum(x))          #10.0全部元素和
    47 print(np.sum(x,axis=0))   #[4. 6.] 把行压缩掉,就是对每列相加
    48 print(np.sum(x,axis=1))   #[3. 7.] 每行相加
    49 
    50 
    51 #10.利用3题目中的x,进行求平均数(跟9含义一样,只是sum操作改为mean操作)
    52 #输出三种平均数(1)print(np.mean(x)) (2)print(np.mean(x,axis = 0))(3) print(np.mean(x,axis =1)))
    53 print(np.mean(x)) 
    54 print(np.mean(x,axis = 0))
    55 print(np.mean(x,axis =1))
    56 
    57 
    58 #11利用3题目中的x,对x进行矩阵转置,然后输出转置后的结果
    59 print(x.T)
    60 
    61 
    62 #12.利用3题目中的x,求e的指数
    63 print(np.exp(x))
    64 
    65 
    66 #13.利用3题目中的x,求值最大的下标
    67 #(1)print(np.argmax(x)),(2) print(np.argmax(x, axis =0))(3)print(np.argmax(x,axis =1))
    68 print(np.argmax(x))             #平摊之后的最大值索引
    69 print(np.argmax(x,axis =0))     #每一列的最大值索引
    70 print(np.argmax(x,axis =1))     #每一行的最大值索引
    71 
    72 
    73 #14.画图,y=x*x 其中 x = np.arange(0, 100, 0.1) 
    74 x = np.arange(0, 100, 0.1) 
    75 plt.plot(x,x*x)
    76 plt.show()
    77 
    78 #15.画图。画正弦函数和余弦函数, x = np.arange(0, 3 * np.pi, 0.1)
    79 x = np.arange(0, 3 * np.pi, 0.1)
    80 plt.plot(x,np.sin(x))
    81 plt.plot(x,np.cos(x))
    82 plt.show()

    14,15对应图:

  • 相关阅读:
    pandas Dataframe filter
    process xlsx with pandas
    data manipulate in excel with easyExcel class
    modify registry in user environment
    add number line in vim
    java import webservice
    ctypes MessageBoxA
    music 163 lyrics
    【python实例】自动贩卖机
    【python基础】sys模块(库)方法汇总
  • 原文地址:https://www.cnblogs.com/cxq1126/p/13285637.html
Copyright © 2011-2022 走看看