Pandas to_json -返回时间戳,单位为天而不是秒



我有一个pandas系列,其中包含从日-月-年字符串创建的日期时间对象

series = pd.Series(['3/11/2000', '3/12/2000', '3/13/2000'])
series = pd.to_datetime(series)
print series
0   2000-03-11
1   2000-03-12
2   2000-03-13
dtype: datetime64[ns]

之后,在使用这些datetime对象之后,我想将这个系列转换成日-月-年格式的json。然而,to_json返回日期时间HH:MM:SS等

json = series.to_json(orient='index', date_format='iso', date_unit = 's')
print json
{"0":"2000-03-11T00:00:00Z","1":"2000-03-12T00:00:00Z","2":"2000-03-13T00:00:00Z"}

是否有任何内置的和优雅的方法来返回日期

{"0":"2000-03-11","1":"2000-03-12","2":"2000-03-13"}

没有HH:MM:SS等。我得到的最接近的(没有转换为字符串和编写函数来解析)是to_json的date_unit参数,尽管最大的时间单位似乎是秒。

有人能帮忙吗?由于

像这样?

In [64]: series.dt.date.astype(str).to_json()
Out[64]: '{"0":"2000-03-11","1":"2000-03-12","2":"2000-03-13"}'

这是不优雅的,但你可以尝试转换为json之前的字符串:

>>> series.apply(lambda x : x.strftime('%Y-%m-%d')).to_json()
'{"0":"2000-03-11","1":"2000-03-12","2":"2000-03-13"}'

最新更新