python - 尝试对两个数据集进行左连接但得到奇怪的结果
问题描述
为了尽可能清楚地说明这一点,我从一个简单的例子开始。我创建了两个随机数据框
dummy_data1 = {
'id': ['1', '2', '3', '4', '5'],
'Feature1': ['A', 'C', 'E', 'G', 'I'],
'Feature2': ['B', 'D', 'F', 'H', 'J']}
df1 = pd.DataFrame(dummy_data1, columns = ['id', 'Feature1', 'Feature2'])
dummy_data2 = {
'id': ['1', '2', '6', '7', '8'],
'Feature3': ['K', 'M', 'O', 'Q', 'S'],
'Feature4': ['L', 'N', 'P', 'R', 'T']}
df2 = pd.DataFrame(dummy_data2, columns = ['id', 'Feature3', 'Feature4'])
如果我应用这个df_merge = pd.merge(df1, df2, on = 'id', how='outer')
或者df_merge = df1.merge(df2,how='left', left_on='id', right_on='id')
我得到想要的输出
现在,我尝试将相同的技术应用于两个具有相同行数的大型数据集。我想要做的就是将这些列连接到一个大数据框中。每个数据帧的长度是512573
但是当我申请时
df_merge = orig_data_updated.merge(demographic_data1,how='left', left_on='Location+Type', right_on='Location+Type')
然后长度神奇地变成3596301
了这根本不可能。我的问题很简单。如何在两个数据帧上进行左连接,以使行数相同,而我只是将列连接在一起?
解决方案
推荐阅读
- feathersjs - feathers.js - 如何从身份验证响应中删除字段有效负载
- git - Git 协议 v1 和 v0,v2 有什么区别?
- angular - 将 Angular >11 中的日期与 *ngIf 进行比较
- excel - 是否可以在 excel 文件上从外部运行宏?
- typescript - 打字稿键值对,其中键是自定义类型
- python - Tensorflow Lite 是否在浮动权重上使用压缩?
- javascript - 如何将css和js文件应用到部分html文件
- amazon-web-services - 尝试从代码管道发送通知时,SNS 通知目标规则“无法访问”
- c# - BizTalk Orchestration BTS 对象到类库
- javascript - 单击复选框时更改下拉字段背景颜色