比较两个DataFrame查找公共元素,合并后填充缺失category列指定值
实现方法
你可以用pandas的外连接合并+缺失值填充实现需求,完整代码如下:
import pandas as pd # 构建示例DataFrame df1 = pd.DataFrame({ 'keyword': ['Computer','Phone','Printer'], 'Price1': [1200,800,200], 'category':['first','second','first'] }) df2 = pd.DataFrame({ 'keyword': ['Computer','Phone','Printer','chair'], 'Price2': [1200,800,200,40] }) # 按keyword外连接合并两个DataFrame,保留两侧所有keyword对应数据 merged_df = pd.merge(df1, df2, on='keyword', how='outer') # 填充category列的缺失值为指定值third merged_df['category'] = merged_df['category'].fillna('third') print(merged_df)
运行后得到的合并结果如下:
| keyword | Price1 | category | Price2 |
|---|---|---|---|
| Computer | 1200.0 | first | 1200 |
| Phone | 800.0 | second | 800 |
| Printer | 200.0 | first | 200 |
| chair | NaN | third | 40 |
如果不需要保留Price1的空值,可根据业务需求进一步用fillna填充或者删除对应列,当前实现完全保留了两个DataFrame的原有字段值。
内容的提问来源于stack exchange,提问作者Radhakrishna S P
相关产品推荐
相关产品推荐

