DateTimeIndex 到 ISO 8601 字符串
DataTimeIndex to ISO 8601 string
我有一个 pandas 数据框 t
,我想将其索引(以 datetime64 对象的形式)转换为 ISO 8601 字符串。
t.index
DatetimeIndex(['2011-01-01 00:00:00', '2011-01-01 01:00:00',
'2011-01-01 02:00:00', '2011-01-01 03:00:00',
'2011-01-01 04:00:00'],
dtype='datetime64[ns]', name='datetime', freq=None)
当我将索引转换为系列然后使用 .dt 访问该系列的 datetimelike 属性时,我得到一个包含两种格式的 datetime
对象:
times = times.to_series().dt.strftime('%Y-%m-%dT%H:%M%:%SZ')
print(str(times))
datetime
2011-01-01 00:00:00 2011-01-01T00:00:00Z
2011-01-01 01:00:00 2011-01-01T01:00:00Z
2011-01-01 02:00:00 2011-01-01T02:00:00Z
2011-01-01 03:00:00 2011-01-01T03:00:00Z
2011-01-01 04:00:00 2011-01-01T04:00:00Z
Name: datetime, dtype: object
为什么 return 两种不同的格式并排显示?如何只 return 第二种 (ISO 8601) 格式的字符串?
当您执行 to_series
时,它会将索引复制到值中并创建也继承原始索引的系列。
times = times.to_series()
print(str(times))
datetime
2011-01-01 00:00:00 2011-01-01 00:00:00
2011-01-01 01:00:00 2011-01-01 01:00:00
2011-01-01 02:00:00 2011-01-01 02:00:00
2011-01-01 03:00:00 2011-01-01 03:00:00
我有一个 pandas 数据框 t
,我想将其索引(以 datetime64 对象的形式)转换为 ISO 8601 字符串。
t.index
DatetimeIndex(['2011-01-01 00:00:00', '2011-01-01 01:00:00',
'2011-01-01 02:00:00', '2011-01-01 03:00:00',
'2011-01-01 04:00:00'],
dtype='datetime64[ns]', name='datetime', freq=None)
当我将索引转换为系列然后使用 .dt 访问该系列的 datetimelike 属性时,我得到一个包含两种格式的 datetime
对象:
times = times.to_series().dt.strftime('%Y-%m-%dT%H:%M%:%SZ')
print(str(times))
datetime
2011-01-01 00:00:00 2011-01-01T00:00:00Z
2011-01-01 01:00:00 2011-01-01T01:00:00Z
2011-01-01 02:00:00 2011-01-01T02:00:00Z
2011-01-01 03:00:00 2011-01-01T03:00:00Z
2011-01-01 04:00:00 2011-01-01T04:00:00Z
Name: datetime, dtype: object
为什么 return 两种不同的格式并排显示?如何只 return 第二种 (ISO 8601) 格式的字符串?
当您执行 to_series
时,它会将索引复制到值中并创建也继承原始索引的系列。
times = times.to_series()
print(str(times))
datetime
2011-01-01 00:00:00 2011-01-01 00:00:00
2011-01-01 01:00:00 2011-01-01 01:00:00
2011-01-01 02:00:00 2011-01-01 02:00:00
2011-01-01 03:00:00 2011-01-01 03:00:00