python - Pandas 以ISO格式保存日期?

标签 python datetime pandas

我正在尝试生成一个 Pandas DataFrame,其中 date_range 是一个索引。然后将其保存到 CSV 文件,以便以 ISO-8601 格式写入日期。

import pandas as pd
import numpy as np
from pandas import DataFrame, Series

NumberOfSamples = 10
dates = pd.date_range('20130101',periods=NumberOfSamples,freq='90S')
df3 = DataFrame(index=dates)
df3.to_csv('dates.txt', header=False)

dates.txt 的当前输出是:

2013-01-01 00:00:00
2013-01-01 00:01:30
2013-01-01 00:03:00
2013-01-01 00:04:30
...................

我试图让它看起来像:

2013-01-01T00:00:00Z
2013-01-01T00:01:30Z
2013-01-01T00:03:00Z
2013-01-01T00:04:30Z
....................

最佳答案

使用 datetime.strftime 并在索引上调用 map:

In [72]:

NumberOfSamples = 10
import datetime as dt
dates = pd.date_range('20130101',periods=NumberOfSamples,freq='90S')
df3 = pd.DataFrame(index=dates)
df3.index = df3.index.map(lambda x: dt.datetime.strftime(x, '%Y-%m-%dT%H:%M:%SZ'))
df3
Out[72]:
Empty DataFrame
Columns: []
Index: [2013-01-01T00:00:00Z, 2013-01-01T00:01:30Z, 2013-01-01T00:03:00Z, 2013-01-01T00:04:30Z, 2013-01-01T00:06:00Z, 2013-01-01T00:07:30Z, 2013-01-01T00:09:00Z, 2013-01-01T00:10:30Z, 2013-01-01T00:12:00Z, 2013-01-01T00:13:30Z]

在我看来,还有更好的选择(感谢@unutbu),您可以将格式说明符传递给 to_csv:

df3.to_csv('dates.txt', header=False, date_format='%Y-%m-%dT%H:%M:%SZ')

关于python - Pandas 以ISO格式保存日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28729212/

相关文章:

python - pandas 类型转换的 h2o 框架

python - 按 1 分钟对大量 GPS 数据进行分组

javascript - 如何将 Javascript 日期转换为 sql 日期时间,格式为 yyyy-mm-dd hh-mi-ss?

python - 如何有效地改变 matplotlib 中补丁圆圈动画的颜色?

python - Pyvmomi - 如何在没有安装 VMTools 的情况下获取虚拟机的 IP?

python - 格式化函数中的字符串

python - Django 1.9 日期时间过滤器

c# - Newtonsoft Json - 序列化 DataTable 的 DateTime 类型

pandas - 根据时间间隔使用 DatetimeIndex 对 Pandas 数据帧进行切片

python - wxpython -- 线程和窗口事件