python pandas TimeStamps to local time string with daylight saving(python pandas TimeStamps到夏令时的本地时间字符串)
问题描述
我有一个带有 TimeStamps 列的数据框.我想将其转换为本地时间字符串,即夏令时.
I have a dataframe with a TimeStamps column. I want to convert it to strings of local time, ie with daylight saving.
所以我想将下面的 ts[0] 转换为2015-03-30 03:55:05".Pandas 似乎知道 DST,但仅当您在系列上调用 .values 时.
So I want to convert ts[0] below to "2015-03-30 03:55:05". Pandas seems to be aware of DST, but only when you call .values on the series.
谢谢
(Pdb) ts = df['TimeStamps']
(Pdb) ts
0 2015-03-30 02:55:05.993000
1 2015-03-30 03:10:20.937000
2 2015-03-30 10:09:19.947000
Name: TimeStamps, dtype: datetime64[ns]
(Pdb) ts[0]
Timestamp('2015-03-30 02:55:05.993000')
(Pdb) ts.values
array(['2015-03-30T03:55:05.993000000+0100',
'2015-03-30T04:10:20.937000000+0100',
'2015-03-30T11:09:19.947000000+0100'], dtype='datetime64[ns]')
推荐答案
DST 与您所在的位置相关(例如,伦敦 DST 比纽约晚几周开始).您首先需要知道时间戳时区:
DST is relative to your location (e.g. London DST began a few weeks after NY). You first need to make the timestamp timezone aware:
from pytz import UTC
from pytz import timezone
import datetime as dt
ts = pd.Timestamp(datetime.datetime(2015, 3, 31, 15, 47, 25, 901597))
# or...
ts = pd.Timestamp('2015-03-31 15:47:25.901597')
# ts is a Timestamp, but it has no idea where in the world it is...
>>> ts.tzinfo is None
True
# So the timestamp needs to be localized. Assuming it was originally a UTC timestamp, it can be localized to UTC.
ts_utc = ts.tz_localize(UTC)
# Once localized, it can be expressed in other timezone regions, e.g.:
eastern = pytz.timezone('US/Eastern')
ts_eastern = ts_utc.astimezone(eastern)
# And to convert it to an ISO string of local time (e.g. eastern):
>>> ts_eastern.isoformat()
'2015-03-30T08:09:27.143173-04:00'
参见 pytz 或 日期时间了解更多信息.
See pytz or datetime for more information.
这篇关于python pandas TimeStamps到夏令时的本地时间字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:python pandas TimeStamps到夏令时的本地时间字符串
基础教程推荐
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
