【发布时间】:2022-01-23 14:29:17
【问题描述】:
我有 2 个数据框。 第一个(左)数据框有 5,000,000 行,第二个只有 47,000 行。 当我尝试使用“左”选项合并这些数据框时,我只得到 47.000 行。
first = pd.read_csv('first.csv')
second = pd.DataFrame(first['id'])
second.drop_duplicates(inplace=True)
second['mark'] = second['id'].apply(lambda x:get_mark(x))
new=first.merge(second,how='left',on='id')
在这里我得到了 47,000 个原始数据。
重新打开第一个数据框。
first = pd.read_csv('first.csv')
new=first.merge(second,how='left',on='id')
我在这里得到了 5,000,000 个带有标记的原始数据。
如何避免重新加载第一个数据帧或解决此问题?
【问题讨论】:
-
您能提供数据集的链接吗?如果需要,您可以删除敏感数据。还提供完整代码(读取、索引设置、形状、合并等)
-
不幸的是,所有数据都是敏感的(客户日志),所以我无法访问数据。我已将所有代码添加到主帖中。
标签: python pandas dataframe merge