记第一次使用baseline#AI夏令营 #电力需求预测赛

69 阅读2分钟
# 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代码理解:

  1. 导入需要用到的相关库
-   `pandas`:用于数据处理和分析,提供了大量便捷的数据结构和数据分析工具。
-   `numpy`:用于科学计算和多维数组操作,提供了高性能的多维数组对象及相关工具。
  1. 读取训练集和测试集

    • 使用pandas.read_csv()函数从文件中读取数据。这是Pandas库中用于读取CSV文件并将其转换为DataFrame对象的函数。
  2. 计算训练数据最近11-20单位时间内对应id的目标均值

    • 这一步涉及到了数据的筛选、分组和聚合操作。
    • train[train['dt']<=20]:筛选出dt列值小于等于20的行。
    • .groupby(['id']):按照id列的值进行分组。
    • ['target'].mean():计算每个分组中target列的平均值。
    • .reset_index():重置索引,使得结果DataFrame的索引变为默认的整数索引。
  3. 将target_mean作为测试集结果进行合并

    • 使用merge()函数将计算得到的target_mean(包含每个id对应的target均值)与测试集test进行合并。
    • on=['id']:指定合并的列名为id
    • how='left':指定合并方式为左连接,即保留test中的所有行,并添加target_mean中的对应列。
  4. 保存结果文件到本地

    • 使用to_csv()函数将结果DataFrame保存为CSV文件。
    • index=None:指定不保存索引到CSV文件中。

需要学习的内容

  • Pandas库的基本使用方法,包括DataFrame的创建、筛选、分组、聚合、合并等操作。
  • 数据预处理的常见流程和方法,例如如何筛选数据、如何处理缺失值、如何合并数据集等。
  • 基本的机器学习概念,例如训练集、测试集、特征、目标变量等。
  • NumPy库的基本使用方法,虽然这段代码中没有直接使用NumPy,但在数据处理和科学计算中,NumPy是非常重要的库。