python pandas 日期格式_python – pandas以ISO格式保存日期?

我正在尝试生成一个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)

date.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,datetime,pandas

来源: https://codeday.me/bug/20190609/1205754.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值