python剔除矩阵中重复的元素并对其他列元素取平均

原数据在深度700m时候有两个值。

程序:

import numpy as np

##------删除数据中同一深度两个应力值------##
def  Delete_repeart_data(ss):#ss是一个两列的矩阵,第一列深度,第二列应力
    new_ss = np.unique(ss[: , 0])
    L_row = np.size(new_ss)
    return_data = np.zeros((L_row,2))
    return_data[: , 0] = new_ss
    n = 0
    for i in new_ss:
        eq_dep = np.where(ss[: , 0]==i)#位置索引
        #L_eq = np.size(eq_dep)
        tmp = []
        for j in eq_dep:
            tmp.append(ss[j, 1])
        return_data[n , 1] = np.mean(tmp)
        n+=1
    return return_data

a = np.loadtxt('D:\\BaiduNetdiskWorkspace\\abaqus-python\\tmp.txt')
aa = Delete_repeart_data(a)
np.savetxt("D:\\BaiduNetdiskWorkspace\\abaqus-python\\tmp1.txt",aa,fmt ='%.3f',delimiter =' ')

处理之后的数据:

python剔除矩阵中重复的元素并对其他列元素取平均_第1张图片

 

你可能感兴趣的:(编程,python,矩阵,numpy)