У меня есть numpy массив atoms.numbers
, который выглядит так:
array([27, 27, 27, 27, 27, 27, 57, 57, 57, 57, 57, 57, 57, 57, 27, 27, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 27, 27, 27, 27, 27, 27, 57, 57, 57, 57, 57,
57, 57, 57, 27, 27, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8])
Я могу заменить все те же экземпляры, например, все 57 в массиве, используя:
atoms.numbers[atoms.numbers==57]=38
, что дает:
array([27, 27, 27, 27, 27, 27, 38, 38, 38, 38, 38, 38, 38, 38, 27, 27, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 27, 27, 27, 27, 27, 27, 38, 38, 38, 38, 38,
38, 38, 38, 27, 27, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8])
Я хотел бы иметь возможность заменить каждый n-й экземпляр в массиве. Я пробовал:
n=5
atoms.numbers[atoms.numbers==57][::n]=38
Что не работает.