Удаление чисел из столбца, которые не отображаются в массиве - PullRequest
0 голосов
/ 09 июля 2019

Взял большой набор данных, удалил все числа, которые не находятся в пределах 2 SD, из определенного столбца и создал массив, теперь я хочу удалить любые числа, не входящие в массив, из столбцов без искажения индекса. Желательно, чтобы преобразовать любые несуществующие числа как нан.

Код, используемый для удаления значений за пределами 2 SD:

pupil_area_array = numpy.array(part_data['pupil_area'])

mean = numpy.mean(part_data['pupil_area'], axis=0)
sd = numpy.std(part_data['pupil_area'], axis=0)

final_list = [x for x in part_data['pupil_area'] if (x > mean - 2 * sd)]
final_list = [x for x in final_list if (x < mean + 2 * sd)]
print(final_list)

1 Ответ

0 голосов
/ 10 июля 2019

Если вы не ограничены использованием генератора, вы можете использовать map() https://www.geeksforgeeks.org/python-map-function/:

def filter_sd(value):
  if x > mean - 2 * sd:
    return x
  return None #or return 'Nan'

final = map(filter_sd, part_data['pupil_area'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...