[英]Convert dataframe with odd timestamp to timeseries with pandas
您如何将以下数据帧转换为带有熊猫的时间序列?
Date Open High Low Close
0 25/07/14 09 h 31 min 00 s +02:00 -1 -1 -887 -448
1 25/07/14 09 h 32 min 00 s +02:00 -425 -385 -455 -414
2 25/07/14 09 h 33 min 00 s +02:00 -432 -432 -654 -601
从此开始:
>>> ts
0 25/07/14 09 h 31 min 00 s +02:00
1 25/07/14 09 h 32 min 00 s +02:00
2 25/07/14 09 h 33 min 00 s +02:00
dtype: object
您可以按以下方式指定日期时间格式:
>>> pd.to_datetime(ts, format='%d/%m/%y %H h %M min %S s +02:00')
0 2014-07-25 09:31:00
1 2014-07-25 09:32:00
2 2014-07-25 09:33:00
dtype: datetime64[ns]
如果+2:00
表示偏移2小时,则:
>>> _ + np.timedelta64(2, 'h')
0 2014-07-25 11:31:00
1 2014-07-25 11:32:00
2 2014-07-25 11:33:00
dtype: datetime64[ns]
当然,如果+02:00
具有不同的含义或未固定,则需要更多的字符串操作。
或者,您可以将+02:00
转换为UTC偏移量格式,并使用'%z'
指令对其进行解析:
>>> ts = ts.str.replace(r'(\d\d):(\d\d)$', r'\1\2')
>>> ts
0 25/07/14 09 h 31 min 00 s +0200
1 25/07/14 09 h 32 min 00 s +0200
2 25/07/14 09 h 33 min 00 s +0200
dtype: object
>>> ts.map(lambda t: dt.datetime.strptime(t, '%d/%m/%y %H h %M min %S s %z'))
0 2014-07-25 09:31:00+02:00
1 2014-07-25 09:32:00+02:00
2 2014-07-25 09:33:00+02:00
dtype: object
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.