初偿用Python处理时间序列的数据,碰到一些坑。以此文记录一下,希望后来者可以少走弯路。
背景说明:我是用一个已有的csv数据表作为原材料进行处理的。
目的:实现时间序列的可视化,及周期性的可视化。
1、碰到的第一个坑是,导入到时间数据,默认的是字符串的数据类型。因此,在可视化的时候,会出现没有按时间先后顺序的方式绘图的状况。
因此,需要将字符串解析为时间类型的数据类型。
方法1:是在读取数据的时候,采用parse_dates=True,自动解析其中的时间数据。
方法2:使用dateuyil包中的parser.parse解析时间字符串:
from dateutil.parser importparse
v1= parse('2018-09-02')print("解析后的时间格式为:",v1)
方法3:利用pandas的to_datetime处理时间list
importpandas as pd
datestrs= ['2018/09/02','2018/09/03','2018/09/04']print(pd.to_datetime(datestrs))
2、第2个坑是处理数值型数据的时候,在导入pandas下默认是object的数据类型,此时需要强制转换数据类型,但是我一直没法转换。
出现的BUG就是:ValueError: could not convert string to float
后来找了半天才找到原因:是数据中含有空格或者“,”