python - 如何使用具有缺失信息的另一个数据框将缺失的数据插入熊猫数据框?
问题描述
假设我有一个这样的潜在客户数据框:
import pandas as pd
leads = {'Unique Identifier':['1','2','3','4','5','6','7','8'],
'Name': ['brad','stacy','holly','mike','phil', 'chris','jane','glenn'],
'Channel': [None,None,None,None,'facebook', 'facebook','google', 'facebook'],
'Campaign': [None,None,None,None,'A', 'B','B', 'C'],
'Gender': ['M','F','F','M','M', 'M','F','M'],
'Signup Month':['Mar','Mar','Apr','May','May','May','Jun','Jun']
}
leads_df = pd.DataFrame(leads)
leads_df
如下所示。它缺少前 4 个潜在客户的 Channel 和 Campaign 数据。
我有一个缺少数据的单独数据框:
missing = {'Unique Identifier':['1','2','3','4'],
'Channel': ['google', 'email','facebook', 'google'],
'Campaign': ['B', 'A','C', 'B']
}
missing_df = pd.DataFrame(missing)
missing_df
在两个表中使用唯一标识符,我将如何将丢失的数据插入主要线索表?对于上下文,大约有 6,000 条线索缺少数据。
解决方案
您可以将两个数据框合并在一起,使用合并的结果更新列,然后继续删除合并的列。
data = leads_df.merge(missing_df, how='outer', on='Unique Identifier')
data['Channel'] = data['Channel_y'].fillna(data['Channel_x'])
data['Campaign'] = data['Campaign_y'].fillna(data['Campaign_x'])
data.drop(['Channel_x', 'Channel_y', 'Campaign_x', 'Campaign_y'], 1, inplace=True)
结果:
data
Unique Identifier Name Gender Signup Month Channel Campaign
0 1 brad M Mar google B
1 2 stacy F Mar email A
2 3 holly F Apr facebook C
3 4 mike M May google B
4 5 phil M May facebook A
5 6 chris M May facebook B
6 7 jane F Jun google B
7 8 glenn M Jun facebook C
推荐阅读
- javascript - 为对象中的多个数组分配相同的值
- javascript - 将 JSX 语句存储在返回方法之外的变量中的最佳实践
- ios - SwiftUI 更改表单背景
- javascript - d3v4 饼图 - 在段悬停时 - 像蛋糕片一样展开段
- python - 范围未正确定义
- html - 切换显示/隐藏菜单,带有弹性框和列表项
- java - 使用 AWS SSO 时 AWS Java SDK 未找到配置文件
- python - Python 在打印时结果不一致,想知道可能是什么原因?
- ssl - 在 AWS EKS 和 Istio Ingress 上使用 GRPC 的 SSL 提供 StatusCode.UNAVAILABLE
- javascript - React Testing with Enzyme and Jest ReferenceError: fetch is not defined