我有一个数组,我想根据逻辑命令从中删除特定的元素。你知道吗
我有一个数组,这样galaxies = ([[z1,ra1,dec1,distance1],[z2,ra2,dec2,distance2]...])
,我想删除所有距离项大于1的元素。我试着写“从星系[i],移除所有星系,使星系[i][4]>;1”
我现在的代码是:
galaxies_in_cluster = []
for i in range(len(galaxies)):
galacticcluster = galaxies[~(galaxies[i][4]<=1)]
galaxies_in_cluster.append(galacticcluster)
where
galaxies = [array([1.75000000e-01, 2.43794800e+02, 5.63820000e+01, 6.80000000e+00,
7.07290131e-02]),
array([1.75000000e-01, 2.40898000e+02, 5.15900000e+01, 7.10000000e+00,
5.60800387e+00]),
array([1.80000000e-01, 2.43792000e+02, 5.63990000e+01, 6.50000000e+00,
5.00059297e+02]),
array([1.75000000e-01, 2.43805000e+02, 5.62190000e+01, 7.80000000e+00,
2.16588562e-01])]
我要它回来
galaxies_in_cluster = [array([1.75000000e-01, 2.43794800e+02, 5.63820000e+01, 6.80000000e+00,
7.07290131e-02]), array([1.75000000e-01, 2.43805000e+02, 5.62190000e+01, 7.80000000e+00,
2.16588562e-01])]
(基本上消除了第二个和第三个入口)但是它返回了第一个和第二个入口两次,这对我来说没有意义,特别是在第二个入口中,星系[2][4]>;1。
任何帮助都将不胜感激。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐