问题描述
我有一个看起来像这样的 df:
I have a df that looks like this:
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 使其看起来像这样?:
How can I remove the -05:00 so It looks like this?:
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)
Just to clarify, the time is fine, I don't need to do any transformation on that, the modification is just the format, (-05:00)
更新:
为了更清楚.-5:00 来自应用此程序
For further clarity. The -5:00 comes out of applying this procedure
eastern = pytz.timezone('US/Eastern')
df.index = df.index.tz_localize(pytz.utc).tz_convert(eastern)
谢谢
推荐答案
这是 2015 年 1 月的一个老问题.但是由于还没有答案(尽管有很多评论),所以这里是 2019 年 10 月的答案.原文提问者可能已经找到了答案,但只是作为未来的参考.
This is an old question from Jan 2015. But since there is no answer yet (although lots of comments), here is an answer in Oct 2019. The original questioner probably found an answer already but just as a reference for the future.
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
这篇关于如何修改 Pandas 中的日期时间索引格式(UTC)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!