Auto1挑战的ETL包
guacamoleETL的Python项目详细描述
鳄梨油-文档
一个etl管道工具,它
- 预处理
- 从.txt文件中提取数据(Challenge_me.txt)
- 用无效信息清除数据
- 通过给定的规范将数据转换为矩阵(列表列表)
- 将数据加载到.csv文件(output.csv)
安装
此工具可以与pip
一起安装
复制粘贴并在终端中运行此命令
pip install guacamoleETL
用法
这个etl管道可以作为预测模型训练的一部分,并将数据直接输入模型
importguacamoleETLdataFile='Challenge_me.txt'guacamoleETL.load(dataFile)result=guacamoleETL.transform(dataFile)predictive_model=model_training(result)
功能
- 提取数据(txt文件):将数据从.txt文件提取到临时.csv文件
在提取过程中删除前导或尾随空白 - clean_up():清除包含无效信息的数据
不包括任何指定列中占位符为“-”(NA)的行 - 转换(路径):通过给定的规范将预处理的数据转换为矩阵
engine-location
被分成两列,engine-location_front
和engine-location_rear
和一个热编码num-of-cylinders
通过预定义的字典从word转换为integerengine-size
被转换为整数weight
转换为整数horsepower
从德语十进制表示法字符串转换为浮点数aspiration
修改为aspiration_turbo
,因此涡轮发动机标记为1price
从次要单位转换为主要单位make
不转换,但保留在数据集中 - load(路径):将以前转换的数据加载到.csv文件中
架构
所有功能都在__init__.py中实现,此决定基于以下原因:
- 导入包后,如果要将转换和加载函数直接用作子模块,则必须在
__init__.py
中导入或定义这些函数。 - 由于它们都是相互连接的,例如transform函数获取预处理(提取和清理)的结果,load函数也获取transform函数的结果,所以如果它们都在同一个文件中,则更容易跟踪流。
- 这可能不是最好的体系结构实现,但是,虽然从小事做起,简单性始终是一个很好的考虑因素。