如何将单样本CSV文件合并为单个数据集(Kaggle数据集处理)
解决单个CSV对应一个样本的数据集合并问题
针对你遇到的每个.csv文件对应一个样本的数据集合并需求,下面是可行的Python实现方案,用pandas完成合并:
步骤1:准备环境与数据
先确保已经通过Kaggle API下载并解压数据集:
kaggle datasets download -d rebecacunha/mit-short-circuit-flux-and-current-signals unzip mit-short-circuit-flux-and-current-signals.zip
步骤2:编写合并代码
import pandas as pd import os # 数据集所在文件夹路径,根据你的实际路径修改 data_dir = "./mit-short-circuit-flux-and-current-signals" # 存储所有样本数据的列表 sample_dfs = [] # 遍历文件夹下的所有csv文件 for idx, filename in enumerate(os.listdir(data_dir)): if filename.endswith(".csv"): file_path = os.path.join(data_dir, filename) # 读取单个样本的csv文件 df = pd.read_csv(file_path) # 添加样本标识列:用文件名区分不同样本,也可以替换成序号 df["sample_id"] = filename.split(".")[0] # 将当前样本数据加入列表 sample_dfs.append(df) # 合并所有样本到一个DataFrame combined_df = pd.concat(sample_dfs, ignore_index=True) # 查看合并结果 print(combined_df.head()) # 保存合并后的文件 combined_df.to_csv("combined_samples.csv", index=False)
常见问题排查
- 文件路径错误:确认
data_dir指向解压后所有CSV文件的所在文件夹,若存在子目录,可改用os.walk遍历所有层级的文件。 - CSV结构不一致:如果不同CSV的列名/列数不统一,
concat会自动为缺失列补NaN。可以先随机检查几个文件的结构:test_df = pd.read_csv(os.path.join(data_dir, os.listdir(data_dir)[0])) print(test_df.info()) - 编码问题:若读取CSV时出现编码报错,尝试指定编码参数,比如
pd.read_csv(file_path, encoding="utf-8")或encoding="latin-1"。
内容的提问来源于stack exchange,提问作者DangerFinite
相关产品推荐
相关产品推荐

