创建一个Python脚本,实现以下功能。(1)定义一个列表1ist1=[1,2,4,6,7,8],将其转化为数组N1。(2)定义一个元组tup1=(1,2,3,4,5,6),将其转化为数组N2。

1.创建一个Python脚本,实现以下功能。

(1)定义一个列表1ist1=[1,2,4,6,7,8],将其转化为数组N1。

(2)定义一个元组tup1=(1,2,3,4,5,6),将其转化为数组N2。

(3)利用内置函数,定义一个1行6列元素全为1的数组N3。

(4)将N1、N2、N3垂直连接,形成一个3行6列的二维数组N4。

(5)将N4保存为Python二进制数据文件(npy格式)。

In:import numpy as np
In:list1=[1,2,4,6,7,8]
   N1=np.array(list1)
   N1
Out:array([1, 2, 4, 6, 7, 8])
In:tup1=(1,2,3,4,5,6)
   N2=np.array(tup1)
   N2
Out:array([1, 2, 3, 4, 5, 6])
In:N3=np.array([1,1,1,1,1,1])
   N3
Out:array([1, 1, 1, 1, 1, 1])
In:N4=np.vstack((N1,N2,N3))
   N4
Out:array([[1, 2, 4, 6, 7, 8],
       [1, 2, 3, 4, 5, 6],
       [1, 1, 1, 1, 1, 1]])
In:np.save('data',N4)
In:np.load('data.npy')
Out:array([[1, 2, 4, 6, 7, 8],
       [1, 2, 3, 4, 5, 6],
       [1, 1, 1, 1, 1, 1]])

2.创建一个Python脚本,实现以下功能。

(1)加载练习1中生成的Python二进制数据文件,获得数组N4。

(2)提取N4第1行中的第2个、第4个元素,第3行中的第1个、第5个元素,组成

一个新的二维数组N5。

(3)将N5与练习1中的N1进行水平合并,生成一个新的二维数组N6。

In:N4
Out:array([[1, 2, 4, 6, 7, 8],
       [1, 2, 3, 4, 5, 6],
       [1, 1, 1, 1, 1, 1]])
In:N5 = np.array([N4[0][1],N4[0][3],N4[2][0],N4[2][4]])
   N5
Out:array([2, 6, 1, 1])
In:N6 = np.hstack((N5,N1))
   N6
Out:array([2, 6, 1, 1, 1, 2, 4, 6, 7, 8])

3.矩阵计算

(1)

In:arr1=np.matrix([[1,5],[5,6]])
   arr2=np.matrix([[6,5],[8,2]])
In:arr3=arr1*arr2
   arr3
Out:matrix([[46, 15],
          [78, 37]])

 (2)

In:A=np.mat("3,-1;-1,3")
   A
Out:matrix([[ 3, -1],
        [-1,  3]])
In:A_value,A_vecotr = np.linalg.eig(A)
   A_value,A_vecotr
Out:(array([4., 2.]),
    matrix([[ 0.70710678,  0.70710678],
            [-0.70710678,  0.70710678]]))

(3)

In:B=np.mat("4,11,14;8,7,-2")
   B
Out:matrix([[ 4, 11, 14],
           [ 8,  7, -2]])
In:C=np.linalg.svd(B, full_matrices=False)
   C
Out:(matrix([[ 0.9486833 , -0.31622777],
            [ 0.31622777,  0.9486833 ]]),
    array([18.97366596,  9.48683298]),
    matrix([[ 0.33333333,  0.66666667,  0.66666667],
            [ 0.66666667,  0.33333333, -0.66666667]]))

(4)

In:D=np.mat("4,6,8;4,6,9;5,6,8")
   D
Out:matrix([[4, 6, 8],
           [4, 6, 9],
           [5, 6, 8]])
In:E=D.T
   E
Out:matrix([[4, 4, 5],
           [6, 6, 6],
           [8, 9, 8]])
In:x=np.linalg.det(D)
   x
Out:5.999999999999998
In:y=np.linalg.det(E)
   y
Out:6.0

物联沃分享整理
物联沃-IOTWORD物联网 » 创建一个Python脚本,实现以下功能。(1)定义一个列表1ist1=[1,2,4,6,7,8],将其转化为数组N1。(2)定义一个元组tup1=(1,2,3,4,5,6),将其转化为数组N2。

发表评论