You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python Pandas将三个单列CSV文件按行对齐合并?

CSV单列文件合并问题

我是Python新手,遇到了CSV文件合并的问题:现有三个单列CSV文件,分别包含label、timestamp、start列。我尝试使用pd.concat方法执行合并,代码如下:

concate_data = pd.concat([label,timestamp,start])

代码可运行但结果不符合预期,得到的是纵向堆叠的表格,存在大量null值(见下方错误结果)。我需要将三个文件合并为每行label、timestamp、start列均对应有值的格式(见下方期望结果),请问该如何实现?

错误结果

labeltimestampstart
Eatingnullnull
Eatingnullnull
null2012:02:02 12:00:01null
nullnull1
nullnull0

期望结果

labeltimestampstart
Eating2012:02:02 12:00:011
Eating2012:02:02 12:01:010
Eating2012:02:02 12:01:010

解决方法

pd.concat()默认是纵向堆叠(axis=0),所以会把三个表上下拼接,导致大量空值。要实现横向按行对齐合并,只需调整参数即可:

正确代码

import pandas as pd

# 读取三个单列CSV文件
label = pd.read_csv('label.csv')
timestamp = pd.read_csv('timestamp.csv')
start = pd.read_csv('start.csv')

# 横向拼接,按行索引对齐
concate_data = pd.concat([label, timestamp, start], axis=1)

# 可选:重置索引
concate_data = concate_data.reset_index(drop=True)

# 输出结果
print(concate_data)

关键说明

  • axis=1参数指定横向拼接,将三个单列DataFrame按行索引合并成多列,每行的label、timestamp、start会自动对齐。
  • 如果三个文件行数不一致,拼接后行数较多的文件会在末尾产生空值,需先确认数据对应关系,必要时用join='inner'参数只保留共同行:
    concate_data = pd.concat([label, timestamp, start], axis=1, join='inner')
    

内容的提问来源于stack exchange,提问作者Dominic Pfeifer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 03:24:24