DataFrame
的HTML输出看起来将timedelta64
个对象格式化为微秒精度,即6位小数。
如何将其增加到纳秒精度,小数点后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>
答案 0 :(得分:1)
您可以调用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
答案 1 :(得分:0)
这只是一个显示问题。完整精度存储在数据框中。您可以通过查看行的np数组表示来显示确切的值:
df.delta.values