gpt4 book ai didi

python - 将 YYYYMMDD 转换为 YYYY-MM-DD 并将 HHMMSS 转换为 HH :MM:SS for candlestick plotting

转载 作者:太空宇宙 更新时间:2023-11-04 11:22:03 24 4
gpt4 key购买 nike

我已经尝试了 4 个小时来寻找答案,但没有找到答案。任何帮助将不胜感激。

目标:将 20170103 转换为 2017-01-03 并将 022100 转换为 02:21:00 以进行烛台绘图

date_int = 20170103
df = pd.DataFrame({'date':[date_int]*10})
df['date'] = df['date'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d'))
print(df['date'])


time_int = 020100
df = pd.DataFrame({'time':[time_int]*10})
df['time'] = df['time'].apply(lambda x: pd.to_datetime(str(x), format='%H:%M:%S'))
print(df['time'])

但第二个代码显示“无效 token ”错误。

而且我还注意到这段代码执行起来非常慢。如果有更有效的方法,请告诉我。非常感谢您的帮助。

最佳答案

为了扩展我的评论,您在这里有一些错误。首先如前所述,第二个示例中使用的格式是错误的。您的数据格式为 '%H%M%S',因此您需要在参数中指定它。

使用 pd.to_datetime 时,指定的格式表示实际的数据格式,以便正确解析。为了进一步修改,需要添加Series.dt.strftime :

date_int = 20170103
df = pd.DataFrame({'date':[date_int]*10})
df.date = pd.to_datetime(df.date, format='%Y%m%d').dt.strftime('%Y-%m-%d')

date
0 2017-01-03
1 2017-01-03
2 2017-01-03
3 2017-01-03
4 2017-01-03
5 2017-01-03
6 2017-01-03
7 2017-01-03
8 2017-01-03
9 2017-01-03

与您的第二个示例类似,您需要:

df.time = pd.to_datetime(df.time, format='%H%M%S').dt.strftime('%H:%M:%S')

关于python - 将 YYYYMMDD 转换为 YYYY-MM-DD 并将 HHMMSS 转换为 HH :MM:SS for candlestick plotting,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55765223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com