[問題] DataFrame的index問題

看板Python作者 (14號星期五的傑森)時間5年前 (2018/09/29 14:38), 編輯推噓2(2012)
留言14則, 3人參與, 5年前最新討論串1/1
大家好 小弟匯入外部資料,如下圖 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

09/29 15:23, 5年前 , 1F
先把時間轉成字串用datetime.strptime
09/29 15:23, 1F

09/29 15:23, 5年前 , 2F
轉成datetime再用strftime轉成你要的格式
09/29 15:23, 2F

09/29 20:34, 5年前 , 3F
抱歉 我不是很懂你的意思
09/29 20:34, 3F

09/29 21:57, 5年前 , 4F
因為你指定了原本沒有的index 當然會沒有元素
09/29 21:57, 4F

09/29 21:57, 5年前 , 5F
直接df.index = pd.to_datetime(...)就好了
09/29 21:57, 5F

09/30 10:43, 5年前 , 6F
嘗試樓上的方法後,成功了!!謝謝二位願意幫助我
09/30 10:43, 6F

09/30 10:43, 5年前 , 7F
另外想詢問gold大所說,指定原沒有的index這意思是?
09/30 10:43, 7F

09/30 12:04, 5年前 , 8F
你指定了dataframe的資料(FileFrame4) 那你設定index
09/30 12:04, 8F

09/30 12:05, 5年前 , 9F
的時候就會從FileFrame4去找 但是都沒找到 所以才會
09/30 12:05, 9F

09/30 12:05, 5年前 , 10F
都得到nan
09/30 12:05, 10F

09/30 12:06, 5年前 , 11F
你要用這種方法的話可以用dictionary把每個column
09/30 12:06, 11F

09/30 12:06, 5年前 , 12F
指定進去 然後index一樣擺你的寫法就可以了
09/30 12:06, 12F

09/30 16:23, 5年前 , 13F
是說我的FileFrame4原本的index是0,1,..,所以我在
09/30 16:23, 13F

09/30 16:24, 5年前 , 14F
設定index時候,就會找不到,因此得到nan
09/30 16:24, 14F
文章代碼(AID): #1RhntWik (Python)