import numpy as np import copy data=np.load("data.npz", allow_pickle=True) data=dict(data) target_index=1 CT=data['target_ncharges'][target_index] T=data['target_CMs'][target_index] size_database=len(data['database_labels']) I=[] for i in range(len(CT)): if CT[i] == 1: I.append(i) CT=np.delete(CT, I) T=np.delete(T, I, axis=0) T=np.delete(T,I,axis=1) data['target_ncharges'][target_index]=CT data['target_CMs'][target_index]=T for i in range(size_database): print(" ", i) M=data['database_CMs'][i] CM=data['database_ncharges'][i] m=len(CM) J=[] for j in range(m): if CM[j]==1: J.append(j) CM=np.delete(CM,J) M=np.delete(M,J,axis=0) M=np.delete(M,J,axis=1) data['database_CMs'][i]=M data['database_ncharges'][i]=CM print(data['target_ncharges'][1]) np.savez("datafilter", target_labels=data['target_labels'], target_CMs=data['target_CMs'], target_ncharges=data['target_ncharges'], database_labels=data['database_labels'], database_CMs=data['database_CMs'], database_ncharges=data['database_ncharges']) """ CTcounts = np.bincount(CT) filtered=[] for M in range(size_database): print(M, " / ", size_database) CM=data['database_ncharges'][M] CMcounts = np.bincount(CM) maxsize=max(len(CTcounts),len(CMcounts)) CTcounts=np.pad(CTcounts, (0, maxsize-len(CTcounts))) CMcounts=np.pad(CMcounts, (0, maxsize-len(CMcounts))) if np.all(CMcounts <= CTcounts): print("added", M) filtered.append(copy.copy(M)) np.savetxt("filtered"+str(target_index), filtered, fmt="%s") """