Для каждого компонента в большом наборе данных у меня есть два одинаковых массива одинаковой формы: необработанные данные и данные артефактов, которые хранятся в фрейме данных pandas, например:
sub run1 ... run4
0 [data, art] ... [data, art]
1 [data, art] ... [data, art]
2 [data, art] ... [data, art]
3 [data, art] ... [data, art]
4 [data, art] ... [data, art]
Например: запуск субъекта 11 имеет
data([[104., 96., 94., ..., 99., 99., 96.],
[102., 94., 92., ..., 100., 99., 97.],
[101., 93., 91., ..., 98., 98., 96.],
...,
[ -8., -5., -12., ..., -9., 3., 10.],
[ -8., -5., -13., ..., -10., 4., 11.],
[ -9., -5., -13., ..., -10., 5., 13.]])
и
artifact([[2., 2., 2., ..., 2., 2., 2.],
[2., 2., 2., ..., 2., 2., 2.],
[2., 2., 2., ..., 2., 2., 2.],
...,
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.]])
Когда значение в массиве артефактов не равно 0, я хотел бы заменить соответствующее местоположение в массиве данных на NaN.Это может быть сделано на месте или в новом массиве.Каждый пробег не обязательно одинаковой длины между предметами.