如何从字符串转换,应用时区偏移,在Python中将Pandas系列索引转换回字符串?

cyvaqqii  于 2023-11-15  发布在  Python
关注(0)|答案(1)|浏览(94)

我有一个Pandas时间序列对象,其索引如下所示:

Index(['2023-05-31T00:05:00+0300', '2023-05-31T00:06:00+0300',
       ...       
       '2023-09-15T13:48:00+0300', '2023-09-15T13:49:00+0300'],
      dtype='object', length=76106)

字符串
我需要转换成这样

Index(['2023-05-30T21:05:00', '2023-05-30T21:06:00',
       ...       
       '2023-09-15T10:48:00', '2023-09-15T10:49:00'],
      dtype='object', length=76106)


我试图做的,有效地,是将字符串转换为日期时间,减去时区偏移,使其天真,并将其转换回字符串。
我知道如何在很多(有点复杂)步骤中做到这一点,这将涉及到将系列转换为字典,逐个转换(日期时间)键,使字典成为一个新的系列,但有没有一种方法可以在几个步骤中做到这一点,可能是就地?
任何帮助将不胜感激。

jqjz2hbq

jqjz2hbq1#

您可以使用pd.to_datetime将索引转换为日期时间,然后使用tz_convert将其转换为UTC,最后使用strftime进行格式化:

idx = pd.Index(['2023-05-31T00:05:00+0300', '2023-05-31T00:06:00+0300','2023-09-15T13:48:00+0300', '2023-09-15T13:49:00+0300'])

idx = pd.to_datetime(idx).tz_convert('UTC').strftime('%Y-%m-%dT%H:%M:%S')

字符串
输出量:

Index(['2023-05-30T21:05:00', '2023-05-30T21:06:00', '2023-09-15T10:48:00',
       '2023-09-15T10:49:00'],
      dtype='object')

相关问题