Pandas以ISO格式保存日期?

2024-04-28 07:45:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图生成一个Pandas数据框,其中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
....................

Tags: 文件csv数据importtxtdataframepandasdate
1条回答
网友
1楼 · 发布于 2024-04-28 07:45:56

使用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')

相关问题 更多 >