前段时间参加阿里天池中的智慧交通预测挑战赛,费了不少功夫初赛排名45进入了复赛,后续没有时间继续复赛了,但还是想总结一下,算法就不详述了,具体谈谈数据处理的一些问题与解决方案。适合想要学习的新手参考,欢迎大家提出意见
语言使用python+pycharm
数据与部分代码百度网盘地址:
http://pan.baidu.com/s/1jIGasnW
1. 读取数据
比赛中数据格式为txt,读取方式有两种,但为了方便进行后续的操作,采用python的库pandas进行读取,读入后的格式为dataFrame,同时具有行列索引,如下:
data=pd.read_table('F:/tianchi/new_gy_contest_traveltime_training_data_second.txt',sep=';')
也可以用pd.read_csv,效果一样
Sep用来说明txt的分隔符,需要观察源数据,有的是;or #or,等等,需要灵活使用,不然读出的数据是乱的
(1)有时候不想读入全部数据,可以这么办
data=pd.read_table('F:/tianchi/new_gy_contest_traveltime_training_data_second.txt',sep=';',nrows=100)
这样就只会读取前100行
(2)表头问题
如果你的数据有表头,那么读入的时候会自动将表头作为列名,如下:
如果没有表头,那么问题来了,它会自动将第一行数据作为表头,这不是我们想要的,