def relabelAllSequences(zBySeq, specialStateIDs):
''' Relabel all sequences in provided list.
Returns
-------
zBySeq, relabelled so that each label in specialStateIDs
now corresponds to ids 0, 1, 2, ... L-1
and all other labels not in that set get ids L, L+1, ...
'''
import copy
zBySeq = copy.deepcopy(zBySeq)
L = len(specialStateIDs)
uniqueVals = []
for z in zBySeq:
z += 1000
for kID, kVal in enumerate(specialStateIDs):
z[z == 1000 + kVal] = -1000 + kID
uniqueVals = np.union1d(uniqueVals, np.unique(z))
for z in zBySeq:
for kID, kVal in enumerate(sorted(uniqueVals)):
z[z == kVal] = kID
return zBySeq
评论列表
文章目录