建筑楼层大规模能量预测代码笔记
记录的都是一些python的写法问题,归结于自己太菜了,python如此强大的功能,很多都没看到过
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import KFold
sklearn是大家共同开发维护的一个非常方便的机器学习库,得到大家的认可,功能十分强大,还是得慢慢的去了解并使用它啊
关于LabelEncoder
sklearn的preprocessing包主要是用于数据预处理的。
preprocessing中的LabelEncoder用于将标签进行标准化,它可以将标签分配为0-n_classes-1之间的编码
后面再说本次代码用到的地方
train_df = pd.read_csv('xxx.csv')
train_df = train_df.query('not (building_id <= 104 & meter ==0 & timestamp <="2016-05-20")')
利用pandas读取csv文件,返回的为dataFrame对象,可以调用head(),describe(),info()等各种方法来查看数据的一些情况
后面一句代码可以记住,有点类似于数据库语句的感觉,通过query()将数据块中符合要求的取出。
还有一种表达就是 train_df[train_df.column2 > train_df.colume4]类似于这种表达方式。
time_format = "%Y-%m-%d %H:%M:%S"
start_date = datetime.datetime.strptime(weather_df['timestamp'].min(),time_format)
end_date = datetime.datetime.strptime(weather_df['timestamp'].max(),time_format)
total_hours = int(((end_date - start_date).total_seconds() + 3600) / 3600)
hours_list = [(end_date - datetime.timedelta(hours=x)).strftime(time_format) for x in range(total_hours)]