如何修改 Pandas 中的日期时间索引格式 (UTC)?
How to modify Datetime index format (UTC) in Pandas?
我有一个看起来像这样的 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
我有一个看起来像这样的 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