numpy之数组计算
# coding=utf-8
import numpy as np
import random
#数组和数字计算,进行广播计算,包括加减乘除 t8 = t8 +2 print(t8,t8.dtype,t8.shape) #数组和数组计算,只要在某一维度(行或列)一样,就可以进行广播计算,包括加减乘除 t9 = t5+t6 print(t9,t9.dtype,t9.shape) ''' 如果两个数组的后缘维度(即从末尾开始算起的维度)的轴长度相符或其中一方的维度为1,则认为他们的是广播兼容的 例如 (3,3,3)与(3,2)不可以计算,因为(3, 3,3)最后两个3,3与3,2不相符 (3,3,2)与(3,2)可以计算,因为从最后开始,存在相符维度即(3,2) ''' t7 = np.ones((3,3)) t10 = np.random.randint(10,20,(3,3,3)) print(t10,t10.dtype,t10.shape) t10 = t10 + t7 print(t10,t10.dtype,t10.shape) t10 = t10 - t7 print(t10,t10.dtype,t10.shape) t10 = t10.dot(t7) print(t10,t10.dtype,t10.shape) t10 = t10/t7 print(t10,t10.dtype,t10.shape) #四维数组 t10 = np.random.randint(10,20,(3,3,3,4)) print(t10,t10.dtype,t10.shape) ###########其他计算方法################### ''' 获取最大值最小值的位置 np.argmax(t,axis=0) #每一行最大值位置 np.argmin(t,axis=1) #每一列最小值的位置 创建一个全0的数组: np.zeros((3,4)) 创建一个全1的数组:np.ones((3,4)) 创建一个对角线为1的正方形数组(方阵):np.eye(3) ''' ''' rand(d0, d1, …, dn) 产生均匀分布的随机数 dn为第n维数据的维度 randn(d0, d1, …, dn) 产生标准正态分布随机数 dn为第n维数据的维度 randint(low[, high, size, dtype]) 产生随机整数 low:最小值;high:最大值;size:数据个数 uniform(low,high,(size)) 产生均匀分布的数组,low起始值,high结束值,size形状 normal(loc,scale,(size)) 从指定正太分布中随机抽取样本,分布中心为loc,标准差为scale,形状为size seed(s) 随机数种子,s是给定的种子值,因为计算机生成的是伪随机数,所以通过设定相同的随机数种子,可以每次生成相同的随机数 ''' ''' np.nan与np.nan不相等 np.count_nonzero(t)判断t中不为0的数量 np.count_nonzero(np.isnan(t))判断t中nan的数量 nan与任何值进行计算都为nan 求和:t.sum(axis=None) 均值:t.mean(a,axis=None) 受离群点的影响较大 中值:np.median(t,axis=None) 最大值:t.max(axis=None) 最小值:t.min(axis=None) 极值:np.ptp(t,axis=None) 即最大值和最小值只差 标准差:t.std(axis=None)
协方差: cov = np.cov(data.T) #计算协方差矩阵
计算矩阵的特征值和特征向量: eig_val, eig_vec = np.linalg.eig(data)#要求矩阵是方阵
'''
注意点:
数组中的属性axis表示,以数组的该行维度个数返回
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

更多精彩