我有一个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]
稍后,在使用这些日期时间对象后,我想以日 - 月 - 年格式将此系列转换为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参数,尽管最大的时间单位看似是秒。
有人可以帮忙吗?感谢
答案 0 :(得分:6)
这样的东西?
In [64]: series.dt.date.astype(str).to_json()
Out[64]: '{"0":"2000-03-11","1":"2000-03-12","2":"2000-03-13"}'
答案 1 :(得分:3)
这不是很优雅,但你可以尝试转换为字符串之前到json:
>>> series.apply(lambda x : x.strftime('%Y-%m-%d')).to_json()
'{"0":"2000-03-11","1":"2000-03-12","2":"2000-03-13"}'