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

pandas合并两个CSV生成的DataFrame时仅返回第一个数据集问题排查

问题根因
  • 合并规则缺失:pd.merge()默认对两个DataFrame的全部同名列做内连接,你处理后的两个DataFrame无公共匹配列,自然匹配不到BGC的对应数据。
  • BGC文件读取参数错误:你已确认BGC的CSV无表头,但代码中用了header=0参数,会把第一行数据误识别为表头,导致所有列索引、数据读取全部错位。
  • 语法错误:删除多列的写法data1.columns[1, 3, 5]非法,多位置索引需要嵌套方括号,正确写法为data1.columns[[1, 3, 5]]。
  • 无关联匹配字段:两个数据集都未保留/新增统一的「期限」字段(比如RUB 1yr、RUB 2yr这类标识),无法按业务需求的期限做对应匹配。
  • 废弃方法使用:pandas 2.0及以上版本已移除append方法,会直接触发报错,建议替换为pd.concat。
修复后完整代码
import pandas as pd

# 处理Tradition数据源
tradition_df = pd.read_csv('C:\\Users\\atul.sanwal\\Desktop\\Tradition_Basis_RFR_2021_12_05_15_00_00.csv', header=0, skiprows=1, nrows=22)
tradition_df = tradition_df.drop(columns=["0"])
tradition_df['Mid_TRAD'] = tradition_df['Bid']/2 + tradition_df['Ask']/2
# 替换append为concat
tradition_df = pd.concat([tradition_df.iloc[12:17, :], tradition_df.iloc[18:, :]], ignore_index=True)
tradition_df = tradition_df.drop(columns=['Date', 'Time'])
# 新增期限列,对应需求的9个期限
tradition_df['term'] = ['RUB 1yr', 'RUB 2yr', 'RUB 3yr', 'RUB 4yr', 'RUB 5yr', 'RUB 7yr', 'RUB 8yr', 'RUB 9yr', 'RUB 10yr']

# 处理BGC数据源,无表头所以header=None
bgc_df = pd.read_csv('C:\\Users\\atul.sanwal\\Desktop\\BGC_RUB_2021_12_05_15_00_00.csv', header=None, skiprows=1, nrows=111)
bgc_df = bgc_df.drop(columns=[0])
# 按位置取Bid和Ask列计算Mid
bgc_df['Mid_BGC'] = bgc_df[2]/2 + bgc_df[4]/2
# 替换append为concat
bgc_df = pd.concat([bgc_df.iloc[97:98, :], bgc_df.iloc[105:, :]], ignore_index=True)
# 修正多列删除语法
bgc_df = bgc_df.drop(bgc_df.columns[[1, 3, 5]], axis=1)
# 新增和Tradition对齐的期限列
bgc_df['term'] = ['RUB 1yr', 'RUB 2yr', 'RUB 3yr', 'RUB 4yr', 'RUB 5yr', 'RUB 7yr', 'RUB 8yr', 'RUB 9yr', 'RUB 10yr']
# 只保留关联键和需要的Mid列
bgc_df = bgc_df[['term', 'Mid_BGC']]

# 指定用term列作为关联键,左连接保留Tradition全部期限数据
result = pd.merge(tradition_df, bgc_df, on='term', how='left')
print(result)
关键修改说明
  • 读取BGC文件时指定header=None,避免把数据行当成表头
  • 两个DataFrame都新增统一的term字段作为关联键,和需求的9个期限一一对应
  • 合并时指定on='term'和左连接规则,确保两个来源的同期限数据匹配
  • 修复了多列删除的语法错误,替换了已废弃的append方法

内容的提问来源于stack exchange,提问作者Rahul Vaidya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:45:01