# 1. 导入需要用到的相关库
# 导入 pandas 库,用于数据处理和分析
import pandas as pd
# 导入 numpy 库,用于科学计算和多维数组操作
import numpy as np
# 2. 读取训练集和测试集 # 使用 read_csv() 函数从文件中读取训练集数据,文件名为 'train.csv'
train = pd.read_csv('./data/data283931/train.csv')
# 使用 read_csv() 函数从文件中读取测试集数据,文件名为 'train.csv'
test = pd.read_csv('./data/data283931/test.csv')
# 3. 计算训练数据最近11-20单位时间内对应id的目标均值
target_mean = train[train['dt']<=20].groupby(['id'])['target'].mean().reset_index()
# 4. 将target_mean作为测试集结果进行合并
test = test.merge(target_mean, on=['id'], how='left')
# 5. 保存结果文件到本地
test[['id','dt','target']].to_csv('submit.csv', index=None)
baseline代码理解:
- 导入需要用到的相关库:
- `pandas`:用于数据处理和分析,提供了大量便捷的数据结构和数据分析工具。
- `numpy`:用于科学计算和多维数组操作,提供了高性能的多维数组对象及相关工具。
-
读取训练集和测试集:
- 使用
pandas.read_csv()函数从文件中读取数据。这是Pandas库中用于读取CSV文件并将其转换为DataFrame对象的函数。
- 使用
-
计算训练数据最近11-20单位时间内对应id的目标均值:
- 这一步涉及到了数据的筛选、分组和聚合操作。
train[train['dt']<=20]:筛选出dt列值小于等于20的行。.groupby(['id']):按照id列的值进行分组。['target'].mean():计算每个分组中target列的平均值。.reset_index():重置索引,使得结果DataFrame的索引变为默认的整数索引。
-
将target_mean作为测试集结果进行合并:
- 使用
merge()函数将计算得到的target_mean(包含每个id对应的target均值)与测试集test进行合并。 on=['id']:指定合并的列名为id。how='left':指定合并方式为左连接,即保留test中的所有行,并添加target_mean中的对应列。
- 使用
-
保存结果文件到本地:
- 使用
to_csv()函数将结果DataFrame保存为CSV文件。 index=None:指定不保存索引到CSV文件中。
- 使用
需要学习的内容:
- Pandas库的基本使用方法,包括DataFrame的创建、筛选、分组、聚合、合并等操作。
- 数据预处理的常见流程和方法,例如如何筛选数据、如何处理缺失值、如何合并数据集等。
- 基本的机器学习概念,例如训练集、测试集、特征、目标变量等。
- NumPy库的基本使用方法,虽然这段代码中没有直接使用NumPy,但在数据处理和科学计算中,NumPy是非常重要的库。