常用的矩阵相关的计算(python代码)

一、计算两个数列的相对误差

import pandas as pd
import numpy as np
import time
import random
 
#########计算两个数列的相对误差
def cal_relativeError(originalData,  resultData):
    error = 0
    lens = np.min([len(originalData), len(resultData)])
    for k in range(lens):
   		 error = error + np.abs([originalData[k] -resultData[k]])
    error = error / np.sum(originalData) 
    return error 

二、生成随机矩阵

def random_matrix_genetor(n=10):
    '''
    功能:生成随机矩阵
    输入:矩阵维数
    输出:矩阵
    '''
    data_matrix=[]
    for i in range(n):
        one_list=[]
        for j in range(n):
            one_list.append(random.randint(1, 100))
        data_matrix.append(one_list)
    return data_matrix

三、找到矩阵最小值

def find_martrix_min_value(data_matrix):
    '''
    功能:找到矩阵最小值
    '''
    new_data=[]
    for i in range(len(data_matrix)):
        new_data.append(min(data_matrix[i]))
    return  min(new_data)

四、找到矩阵最大值

def find_martrix_max_value(data_matrix):
    '''
    功能:找到矩阵最大值
    '''
    new_data=[]
    for i in range(len(data_matrix)):
        new_data.append(max(data_matrix[i]))
    return max(new_data)

五、找到list中第一个不为0的数

def first_num (lst_data):
    for i in range(len(lst_data)):
        if  lst_data[i] > 0:
            return lst_data[i]

六、求一个数组中不为0的数的均值

def cal_avg(lst_data):
    len_un_0 = len(lst_data) - lst_data.count(0)         
    sum_x = 0
    for i in lst_data:
        sum_x += i
    avg_num = sum_x / len_un_0
    return avg_num

七、给lst里面为0的值做补充

## lst: 待处理的数列
## num_x : 在满足条件的位置用num_x来做补充      
def full_num (lst_data , num_x):
    for i in range(len(lst_data)):
        if lst_data[i] == 0:
            lst_data[i] = num_x
    return lst_data

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值