2016-02-06 17 views
0

Я работаю над некоторой проблемой, когда мне нужно принимать 15-ю степень чисел, когда я делаю это в консоли python, я получаю правильный вывод, однако, когда вы помещаете эти цифры в кадр данных pandas, а затем попытайтесь принять 15-я сила, я получаю отрицательное число. Пример: 1456 ** 15 = 280169351358921184433812095498240410552501272576L, однако, когда аналогичная операция выполняется в pandas, я получаю отрицательные значения. Существует ли ограничение на количество чисел, которое могут удерживать панды, и как мы можем изменить этот предел.Python Pandas наибольшее число

ответ

0

Если операции выполняются в стеке pydata (numpy/pandas), вы ограничены номерами фиксированной точности, до 64 бит.

Произвольные числа точности как строка, возможно?

+0

Использование строки не будет полезно, так как другие библиотеки, такие как scikit learn и т. Д., Не будут работать по желанию – Pawan

0

Pandas dataframe хранит свои базовые данные в массиве numpy, поэтому по умолчанию на большинстве современных машин он использует 64-битные целые числа, и вы действительно спрашиваете: «Как использовать произвольные цепочки чисел с numpy?»

К сожалению, ответ «нет». Если вам нужна произвольная точность арифметики наряду с интересными математическими операциями в python, выбор - это SymPy. (как в this stackoverflow answer)

Я не знаю ни одной библиотеки, которая обертывает SymPy способом pandas wraps numpy.

0

Мне удалось преодолеть, изменив тип данных с int на float, так как это дает ответ 290 ** 15 = 8.629189e+36, что достаточно хорошо для моего упражнения.

Смежные вопросы