如何在熊猫中修改日期时间索引格式 (UTC)



我有一个看起来像这样的df:

2015-01-29 08:30:00-05:00  199425  199950  199375  199825                  
2015-01-29 08:45:00-05:00  199825  199850  199650  199800                 
2015-01-29 09:00:00-05:00  199825  199900  199450  199625  

如何删除 -05:00,使其看起来像这样?

2015-01-29 08:30:00  199425  199950  199375  199825                  
2015-01-29 08:45:00  199825  199850  199650  199800                 
2015-01-29 09:00:00  199825  199900  199450  199625  

澄清一下,时间很好,我不需要对此进行任何转换,修改只是格式,(-05:00)

更新:

为了进一步澄清。-5:00 来自应用此过程

eastern = pytz.timezone('US/Eastern')
df.index = df.index.tz_localize(pytz.utc).tz_convert(eastern)

谢谢

这是 2015 年 1 月的一个老问题。 但由于还没有答案(尽管有很多评论),这里是2019年10月的答案。 最初的提问者可能已经找到了答案,但只是作为未来的参考。

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.to_datetime.html

https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior

import pandas as pd
# create dataframe
df = pd.DataFrame({
    'date_original': ['2015-01-29 08:30:00-05:00', '2015-01-29 08:45:00-05:00', '2015-01-29 09:00:00-05:00'],
    'measurement': [199425, 199825, 199825]
})
# make sure to convert date column to datetime, not string
df['date_original'] = pd.to_datetime(df['date_original'])
print('Original dataframe:')
print(df)
print()
# remove the suffix from the date
df['date_transform'] = pd.to_datetime(df['date_original']).dt.strftime('%Y-%m-%d %H:%M:%S')
print('Transformed dataframe:')
print(df)
print()
df

最新更新