看板 Python 關於我們 聯絡資訊
大家好 小弟匯入外部資料,如下圖 https://i.imgur.com/w2ihTXG.jpg
index是按照0,1,2,...這樣排下去 但我有一個時間測試的column 其元素是20180730085000、20180730085500、.... 該column是將時間以數字方式顯示,如20180730085000就是2018-07-30的08:50:00 但我想嘗試將時間測試的column轉成時間的形式,而非數字 並將轉換後的時間設為index 因此有下列程式碼 FileFrame6=pd.DataFrame(FileFrame4,index=pd.to_datetime(FileFrame4['時間測試 '].astype(str),format='%Y%m%d%H%M%S')) 我想做的事情就是先透過pd.to_datetime將那一串數字先轉成時間 然後新創一個DataFrame,並指定其index就是轉換後的時間 但雖然有成功將Index設成我想要的時間 可是所有的元素都變成nan... https://i.imgur.com/HNkrI0j.jpg
因此想請問版友們我該怎麼解決這個問題QQ 或是有甚麼更好的處理方式 先謝謝了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.231.159 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1538203104.A.B2E.html
Jeffrey11061: 先把時間轉成字串用datetime.strptime 09/29 15:23
Jeffrey11061: 轉成datetime再用strftime轉成你要的格式 09/29 15:23
jasonhsu14: 抱歉 我不是很懂你的意思 09/29 20:34
goldflower: 因為你指定了原本沒有的index 當然會沒有元素 09/29 21:57
goldflower: 直接df.index = pd.to_datetime(...)就好了 09/29 21:57
jasonhsu14: 嘗試樓上的方法後,成功了!!謝謝二位願意幫助我 09/30 10:43
jasonhsu14: 另外想詢問gold大所說,指定原沒有的index這意思是? 09/30 10:43
goldflower: 你指定了dataframe的資料(FileFrame4) 那你設定index 09/30 12:04
goldflower: 的時候就會從FileFrame4去找 但是都沒找到 所以才會 09/30 12:05
goldflower: 都得到nan 09/30 12:05
goldflower: 你要用這種方法的話可以用dictionary把每個column 09/30 12:06
goldflower: 指定進去 然後index一樣擺你的寫法就可以了 09/30 12:06
jasonhsu14: 是說我的FileFrame4原本的index是0,1,..,所以我在 09/30 16:23
jasonhsu14: 設定index時候,就會找不到,因此得到nan 09/30 16:24