Home
Posts
Tag
About
Z-HACK Algorithm competition
Z-HACK Algorithm competition
2019-03-27 15:43:31
#Kaggle
#Python
Z-HACK算法大赛是武汉卓尔集团举办的一场有关于蔬菜价格预测的算法竞赛。 本篇博文主要针对价格预测前进行的数据清洗重构工作,具体的价格预测算法不会进行说明。 # 1.目标 计算单日的平均交易价格 - a) 单日的平均交易价格公式 ![FgyoAkTNh5.jpg](/static/upload/img/201812/04/FgyoAkTNh5.jpg "这里是简介") - b) 提供的CSV数据包含单日不同时刻CONTPRICE和相应的CONTNUM - c) 重构CSV数据,求出单日价格y # 2.代码 - a) ANACONDA/Python3.6 - b) 利用循环完成公式(1)求解单日价格,并将单日价格写入新创建的CSV文件 ```python import csv import pandas as pd import numpy as np from datetime import datetime import warnings import os warnings.filterwarnings('ignore') #读取csv中相应列表的数据 a = pd.read_csv('Desktop/01.csv') data_x= pd.read_csv(filepath_or_buffer = 'Desktop/01.csv', sep = ',')["FDATE"].values data_y= pd.read_csv(filepath_or_buffer = 'Desktop/01.csv', sep = ',')["CONTNUM"].values data_z= pd.read_csv(filepath_or_buffer = 'Desktop/01.csv', sep = ',')["CONTPRICE"].values Hlength=len(data_x) print(Hlength) f=open('Desktop/02.csv', 'w') for i in range(0,10): print(data_x[i],data_y[i],data_z[i]) #去掉list里的重复元素 X = [0] * 365 Y = [0] * 365 X = list(set(data_x)) Hlength_X=len(X) print(X) #按着日期格式进行排序 arr = np.array(X) X = arr[np.argsort([datetime.strptime( i+ '','%Y-%m-%d') for i in X])].tolist() print(X) #按着日期顺序写入新建CSV文件 for n in range(0,Hlength_X-1): m = 0 j = 0 for i in range(0,Hlength-1): if X[n]!=data_x[i]: continue else: m = m+data_y[i]*data_z[i] j=j+data_y[i] Y[n]=m/j print(X[n],Y[n]) f.write(str(X[n])) f.write(',') f.write(str(Y[n])) f.write('n') f.close() ``` - c) 将多个CSV文件合并为一个CSV文件(UTF-8格式) ```python import pandas as pd import warnings warnings.filterwarnings('ignore') import os Folder_Path = r'G: