Точность наносекунды в выходе DataFrame - PullRequest
0 голосов
/ 10 мая 2018
HTML-вывод

DataFrame выглядит как форматирование timedelta64 объектов с точностью до микросекунды, то есть 6 десятичных знаков.

DataFrame showing times to microsecond precision

Как можноЯ увеличиваю это с точностью до наносекунды, до 9 десятичных знаков?

Редактировать: исходный код с картинки выше:

from pandas import DataFrame
from numpy import timedelta64

DataFrame([
    dict(delta=timedelta64(1234, 'ns')),
    dict(delta=timedelta64(56789, 'ns'))
])

<Jupyter html table showing two times, each with the nanoseconds portion truncated>

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Вы можете вызвать DataFrame.style.format и вручную преобразовать объект timedelta64 в наносекунды:

(
    DataFrame([
        dict(delta=np.timedelta64(1234, 'ns')),
        dict(delta=np.timedelta64(56789, 'ns'))
    ])
    .style.format(dict(delta=lambda td: td / np.timedelta64(1, 'ns')))
)

    delta
0  1234.0
1 56789.0
0 голосов
/ 10 мая 2018

Это просто проблема с отображением.Полная точность сохраняется в кадре данных.Вы можете отобразить точные значения, просматривая представление массива np строки:

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