def getPreferenceList(preference,nSamplesOri,data_array):
"""
Input preference should be a numeric scalar, or a string of 'min' / 'median', or a list/np 1D array(length of samples).
Return preference list(same length as samples)
"""
# numeric value
if isinstance(preference, float) or isinstance(preference, int) or isinstance(preference, long):
preference_list=[float(preference)]*nSamplesOri
# str/unicode min/mean
elif isinstance(preference, basestring):
if str(preference)=='min':
preference=data_array.min()
elif str(preference)=='median':
preference=np.median(data_array)
else: #other string
raise ValueError("Preference should be a numeric scalar, or a string of 'min' / 'median',\
or a list/np 1D array(length of samples).\n Your input preference is: {0})".format(str(prefernce)))
preference_list=[preference]*nSamplesOri
# list or numpy array
elif (isinstance(preference, list) or isinstance(preference, np.ndarray)) and len(preference)==nSamplesOri:
preference_list=preference
else:
raise ValueError("Preference should be a numeric scalar, or a str of 'min' / 'median',\
or a list/np 1D array(length of samples).\n Your input preference is: {0})".format(str(prefernce)))
return preference_list
评论列表
文章目录