np.mean () дает неверное значение? - PullRequest
0 голосов
/ 08 февраля 2020

У меня проблемы с вычислением среднего значения каждого столбца массива 2d numpy. Каждый столбец обоих массивов имеет координаты x, y эллипса. Таким образом, я хочу вычислить центр этих эллипсов, чтобы центрировать их. Итак, я использую np.mean (), но получаю неправильные значения. Если я нанесу эллипсис и центры, эллипсис действительно имеет форму эллипса, но точки не (вообще) в центрах. Так что это не из-за плохой точки многоточия.

    def acquire(self, qt, it, lapNumber):
        if self.stream is None:
            self.stream = {'qt': qt, 'it': it}
            self.mean   = {'qt': np.zeros(qt.shape), 'it': np.zeros(it.shape)}
        else:
            self.stream['qt'] = np.vstack((self.stream['qt'], qt - self.mean['qt']))
            self.stream['it'] = np.vstack((self.stream['it'], it - self.mean['it']))

        if self.stream['qt'].shape[0] > 950:
            self.mean['qt'] = np.mean(self.stream['qt'], axis=0)
            self.mean['it'] = np.mean(self.stream['it'], axis=0)

            self.stream['qt'] -= self.mean['qt']
            self.stream['it'] -= self.mean['it']

            self.centered = True

1 Ответ

0 голосов
/ 08 февраля 2020

Я просто решил это при создании минимально воспроизводимого примера. Точки эллипса на самом деле неравномерно распределены в пространстве. Таким образом, среднее значение не является центром и фактически далеко от центра.

...