#!/usr/bin/env python3 # _*_ coding: utf-8 _*_ import numpy as np #创建数组 # arr1 = np.array([1,23,4]) #通过列表创建数组 # arr2 = np.array([(1,2,3),(2,3,4,)]) #通过元组创建数组 # arr3 = np.zeros((2,3)) #通过元组(2,3)生成零矩阵 # arr4 = np.identity(3) #生成3维的单位矩阵 # arr5 = np.random.random(size = (2,3)) #生成每个元素都在[0,1]之间的随机矩阵 # # print(arr2.shape) #返回数据的规格 # print(arr2.ndim) #返回数据的秩 # print(arr2.size) #返回数据元素总数 # print(arr2.dtype.name) #返回矩阵元素的数据类型 # print(type(arr2)) #查看整个数组对象的类型 # # #通过索引和切片访问数组元素 # def f(x, y): # return 10*x+y # # arr6 = np.fromfunction(f, (4, 3), dtype = int) # print(arr6) # # print(arr6[1,2]) #返回矩阵第1行第2列元素 # print(arr6[0:2,:]) #切片,返回矩阵前两行 # print(arr6[:,1]) #切片,返回矩阵第一列 # print(-1) #切片,返回矩阵最后一行 #数组的运算 arr7 = np.array([[1,4],[3,2]]) arr8 = np.array([[4,5],[6,7]]) arr7-arr8 #矩阵减法 arr7**2 #矩阵内平方 arr7*3 #矩阵内乘法 arr7*arr8 #普通乘法 print(np.dot(arr7, arr8)) #矩阵乘法 print(arr7.T) #转置 print(np.linalg.inv(arr7)) #返回逆矩阵 print(arr7.sum()) #数组元素求和 print(arr7.cumsum(axis = 1)) #按行累计总和 #numpy 通用函数 print(np.exp(arr7)) #指数函数 print(np.sin(arr7)) #正弦函数 print(np.sqrt(arr7)) #开方函数 print(np.add(arr7, arr8)) #数组相加 #数组合并与分割 print(np.vstack((arr7, arr8))) #纵向合并数组 print(np.hstack((arr7, arr8))) #横向合并数组 print(np.hsplit(arr7, 2)) #将数组横分为两部分 print(np.vsplit(arr8, 2)) #将数组纵分为两部分