[問題] 金融數據處理 - 數字轉時間

看板Python作者 (巴巴魯斯)時間1年前 (2022/05/10 11:44), 1年前編輯推噓2(205)
留言7則, 2人參與, 1年前最新討論串1/1
各位先進大家好: 期交所提供的原始台指數據中的成交時間格式為int64 例如150000,該怎麼轉成15:00:00? 以下為我的代碼 方法1: input: df['Time'] = pd.to_datetime(df['Time'], format = '%H%M%S') output : 0 1900-01-01 15:00:00 1 1900-01-01 15:00:00 2 1900-01-01 15:00:00 3 1900-01-01 15:00:00 4 1900-01-01 15:00:00 前面多了1900-01-01 ------------------------------------------- 方法2: input: df['Time'] = pd.to_datetime(df['Time']) #去掉format = '%H%M%S' output: 0 1970-01-01 00:00:00.000150000 1 1970-01-01 00:00:00.000150000 2 1970-01-01 00:00:00.000150000 3 1970-01-01 00:00:00.000150000 4 1970-01-01 00:00:00.000150000 看起來離目標更遠了 大致上google了幾篇有關時間序列的文章,沒有類似的問題 請問有人知道問題出在哪嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.184.160 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1652154254.A.32E.html ※ 編輯: barusu (220.136.184.160 臺灣), 05/10/2022 11:45:20 ※ 編輯: barusu (220.136.184.160 臺灣), 05/10/2022 11:47:28

05/10 11:51, 1年前 , 1F
資料又沒提供年月日,電腦怎麼會知道年月日
05/10 11:51, 1F
瞭解

05/10 12:03, 1年前 , 2F
把int64的值轉成字串,然後兩個兩個切割,不難吧
05/10 12:03, 2F
如果與日期合併再轉就可以了,接下來再分割為兩個column ※ 編輯: barusu (220.136.184.160 臺灣), 05/10/2022 12:16:18

05/10 12:48, 1年前 , 3F
pd.to_datetime會轉,不提供format預設是nanoseconds
05/10 12:48, 3F

05/10 12:48, 1年前 , 4F
還是要提供正確的年月日後用datetime做索引,之後才方
05/10 12:48, 4F

05/10 12:49, 1年前 , 5F
便用resample來分析時間序列
05/10 12:49, 5F
感謝說明,先與日期合併,轉換格式,再分割就行了 ※ 編輯: barusu (220.136.184.160 臺灣), 05/10/2022 13:00:20

05/10 13:10, 1年前 , 6F
日期函數運算很慢,格式化字串or f strings 運算較快
05/10 13:10, 6F

05/10 13:23, 1年前 , 7F
存字串,之後分析還是要轉時間格式吧
05/10 13:23, 7F
文章代碼(AID): #1YUT-ECk (Python)