[问题] DataFrame的index问题

楼主: jasonhsu14 (小健人)   2018-09-29 14:38:22
大家好
小弟汇入外部资料,如下图
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
或是有什么更好的处理方式
先谢谢了
作者: Jeffrey11061 (Jeff)   2018-09-29 15:23:00
先把时间转成字串用datetime.strptime转成datetime再用strftime转成你要的格式
楼主: jasonhsu14 (小健人)   2018-09-29 20:34:00
抱歉 我不是很懂你的意思
作者: goldflower (金色小黄花)   2018-09-29 21:57:00
因为你指定了原本没有的index 当然会没有元素直接df.index = pd.to_datetime(...)就好了
楼主: jasonhsu14 (小健人)   2018-09-30 10:43:00
尝试楼上的方法后,成功了!!谢谢二位愿意帮助我另外想询问gold大所说,指定原没有的index这意思是?
作者: goldflower (金色小黄花)   2018-09-30 12:04:00
你指定了dataframe的资料(FileFrame4) 那你设定index的时候就会从FileFrame4去找 但是都没找到 所以才会都得到nan你要用这种方法的话可以用dictionary把每个column指定进去 然后index一样摆你的写法就可以了
楼主: jasonhsu14 (小健人)   2018-09-30 16:23:00
是说我的FileFrame4原本的index是0,1,..,所以我在设定index时候,就会找不到,因此得到nan

Links booklink

Contact Us: admin [ a t ] ucptt.com