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

如何用Pandas合并无共同列的两个数据表?实操求助

解决Pandas合并数据表时的空值问题

看起来你遇到的核心问题是用错了合并逻辑——你原本想让两个表的行按顺序一一对应,但却用了字段值匹配的方式做合并,而你的listid和profile/emailid字段的值完全没有重叠,所以才会出现大量NaN。

正确的解决方案

因为你的需求是把两个表的互补列(一个表有listid,另一个有profile/emailid)按行位置对齐合并,而非通过字段值关联,推荐两种简单方法:

方法1:用pd.concat横向拼接

直接按列合并两个表,确保行索引对齐:

import pandas as pd
data = pd.read_csv("offer1.txt")
data1 = pd.read_csv("offer2.txt")
# 按列拼接后删除空行(如果原数据存在空行的话)
merged_data = pd.concat([data, data1], axis=1).dropna()
print(merged_data)

方法2:按索引做合并

如果两个表的行数完全一致,也可以通过索引进行精准对齐:

import pandas as pd
data = pd.read_csv("offer1.txt")
data1 = pd.read_csv("offer2.txt")
# 基于左右表的索引做内连接,保证行完全对应
merged_data = data.merge(data1, left_index=True, right_index=True, how='inner')
print(merged_data)

为什么原来的方法无效?

你之前的merge(left_on='listid', right_on='profile/emailid', how='left')是在寻找listid和profile/emailid值相同的行进行匹配,但你的数据里listid是数字ID(比如588001),profile/emailid是邮箱或另一类ID,二者没有任何匹配的值,所以合并后自然会出现大量空值。

内容的提问来源于stack exchange,提问作者Divya Nagandla

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:53:13