Closed
Description
Is this formatting for timdelta columns intended / correct?
In [12]: df = pd.DataFrame({"A": pd.date_range("2016", periods=4, freq='D'),
...: "B": pd.timedelta_range('1D', periods=4, freq='D')})
In [13]: df.to_json(date_format='iso')
Out[13]: '{"A":{"0":"2016-01-01T00:00:00.000Z","1":"2016-01-02T00:00:00.000Z","2":"2016-01-03T00:00:00.000Z","3":"2016-01-04T00:00:00.000Z"},"B":{"0":"1970-01-02T00:00:00.000Z","1":"1970-01-03T00:00:00.000Z","2":"1970-01-04T00:00:00.000Z","3":"1970-01-05T00:00:00.000Z"}}'
So a pd.Timedelta('1D')
goes to "1970-01-02T00:00:00.000Z"
.
The expected might be a duration like
"P1DT0H0M0S"
.
It seems to be reusing the logic for datetime columns and treating it as the equivalent int -> iso format. Ideally to_json
will have a new paramater timedelta_format
that takes the same values as date_format
.