Вычтите 2 столбца данных и получите результат без странного округления (арифметика с плавающей запятой) - PullRequest
1 голос
/ 03 октября 2019

У меня есть 2 кадра данных Pandas с тысячами значений. Я загружаю их из CSV-файла с помощью функции read_csv от Pandas. Мне нужно вычесть столбец («открытый») второго столбца из первого, и я делаю это так:

subtraction = shiftedDataset.open - dataset.open

И я получаю серию с результатами. Проблема в том, что результаты приходят со странным округлением, которое исходит из арифметики с плавающей запятой. (например, значение, которое должно быть 0,00003 , равно -2.999999999997449e-05 )

Как получить правильные результаты? Я могу манипулировать кадром данных перед вычитанием или значениями после вычитания, мне все равно, но мне нужно добиться максимальной производительности.

1 Ответ

0 голосов
/ 03 октября 2019

Это научная запись, и, вероятно, она более точна, если вы хотите сделать больше вычислений. Если это только для целей отображения, посмотрите на этот пост

Пример:

v = -2.999999999997449e-05
print('%f' % v)
>>> '-0.000030'

Некоторые предназначены для форматирования вывода (настройка вашего значения в строку, можетне то, что вы хотите), но есть также настройка панд, которую вы можете использовать (также в том же посте, прокрутите немного вниз).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...