【发布时间】:2021-04-14 03:25:01
【问题描述】:
我有两个具有不同值的数组 (x, y),我试图为 x
例如,它们都是 24、36,但在过滤数组之后,y 是 22、32,x 仍然是 24、36。如何删除相同的索引?假设我删除了索引 4、7 和 9、14。如何删除数组 x 中完全相同的索引?
如果需要,我的代码。 data_mg 是 y,data_dg 是 x。
data_mg = image_data_mg[0].data[0:x, 0:y].astype('float')
data_err = image_data_err[0].data[0:x, 0:y].astype('float')
data_dg = image_data_dg[0].data[0:x, 0:y].astype('float')
data_mg[data_mg == 0] = np.nan
data_err[data_err == 0] = np.nan
data_dg[data_dg == 0] = np.nan
data_mg = data_mg[data_mg/data_err > 2]
data_dg = np.ndarray.flatten(data_dg)
data_dg = data_dg[data_mg]
data_mg = np.ndarray.flatten(data_mg)
data_mg = data_mg[np.logical_not(np.isnan(data_mg))]
data_dg = np.ndarray.flatten(data_dg)
data_dg = data_dg[np.logical_not(np.isnan(data_dg))]
b = np.where(np.array(data_dg > 100))
median = np.median(data_mg[b])
print('Flux median at dispersion > 100 km/s is ' + str(median))
a = np.where(data_dg <= 100)
median1 = np.median(data_mg[a])
print('Flux median at dispersion <= 100 km/s is ' + str(median1))
IndexError: arrays used as indices must be of integer (or boolean) type, line 10
【问题讨论】:
标签: python arrays pandas numpy astropy