首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在两列匹配的情况下合并两个不同的数据帧内容

如何在两列匹配的情况下合并两个不同的数据帧内容
EN

Stack Overflow用户
提问于 2020-10-22 12:48:10
回答 1查看 37关注 0票数 0

我有一个包含1064条记录的dataframe1和一个包含328条记录的dataframe2。我想将dataframe2合并到dataframe1中。dataframe在第二个df中没有相应数据的其余记录应该用文本"NA“填充。例如

DF1

代码语言:javascript
运行
AI代码解释
复制
Name    Area    Totalcases
Name1         Area1         200
Name2         Area2         300
Name3         Area2         100
Name3         Area3         0

DF2

代码语言:javascript
运行
AI代码解释
复制
Name    Area    Seriouscases     Othercases
Name1         Area1         50         150
Name2         Area2         100        200
Name3         Area2         150         150

期望输出

代码语言:javascript
运行
AI代码解释
复制
Name    Area    Totalcases    Seriouscase    Othercases
Name1   Area1         200         50         150
Name2   Area2         300         100        200
Name3   Area2         100         150         150
Name3   Area3         0           NA          NA

我使用以下命令来完成工作

代码语言:javascript
运行
AI代码解释
复制
df = pd.merge(readCSV1, readCSV2, on=['Name', 'Area'], how='left').fillna(method='ffill')

但我面临的问题是,名称列中通常有几个相似的名称,并且通常即使在第二个文件中没有相应的数据,也会填充具有相似名称的数据。如何确保只有在名称和区域都匹配的情况下才合并数据相应的数据才会合并,或者如果数据在第二个df中不可用来填充"NA“

EN

回答 1

Stack Overflow用户

发布于 2020-10-22 13:00:59

试试这个:

代码语言:javascript
运行
AI代码解释
复制
import pandas as pd                                             
                                                            
df1 = pd.DataFrame({                                            
'Name': ['Name1', 'Name2', 'Name3', 'Name3'],               
'Area': ['Area1', 'Area2', 'Area2', 'Area3'],               
'Totalases': [200, 300, 100, 0]                             
})                                                              
                                                            
df2 = pd.DataFrame({                                            
'Name': ['Name1', 'Name2', 'Name3'],                        
'Area': ['Area1', 'Area2', 'Area2'],                        
'Seriouscases': [50, 100, 150],                             
'Othercases': [150, 200, 150]                               
})                                                              
                                                            
new_df = pd.merge(df1, df2, how='left')                         
print(new_df)   

打印:

代码语言:javascript
运行
AI代码解释
复制
   Name   Area  Totalases  Seriouscases  Othercases
0  Name1  Area1        200          50.0       150.0
1  Name2  Area2        300         100.0       200.0
2  Name3  Area2        100         150.0       150.0
3  Name3  Area3          0           NaN         NaN

如果这对你有帮助,请让我知道。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64482576

复制
相关文章
用于 SELECT 和 WHERE 子句的函数
1 一个 SQL 语句中的 select_expression 或 where_definition 可由任何使用了下面所描述函数的表达式组成。 2 3 包含 NULL 的表达式总是得出一个 NULL 值结果,除非表达式中的操作和函数在文档中有另外的说明。 4 5 注意:在一个函数名和跟随它的括号之间必须不存在空格。这有助于 MySQL 语法分析程序区分函数调用和对恰巧与函数同名表或列的引用。然而,参数左右两边的空格却是允许的。 6 7 你可以强制 My
用户1112962
2018/07/03
4.9K0
[MySQL]select和where子句优化
数据库优化: 1.可以在单个SQL语句,整个应用程序,单个数据库服务器或多个联网数据库服务器的级别进行优化 2.数据库性能取决于数据库级别的几个因素,例如表,查询和配置设置 3.在数据库级别进行优化,在硬件级别进行优化,平衡可移植性和性能 4.合适的结构,合适的数据类型;执行频繁更新的应用程序大量表(少列);分析大量数据的应用程序少量表(多列);选择合适的存储引擎和索引; 5.压缩适用于InnoDB表的各种工作负载,以及只读MyISAM表 6.选择合适的锁定策略;InnoDB存储引擎可以处理大多数锁定问题 7.配置的主要内存区域是InnoDB缓冲池和MyISAM密钥缓存。 8.优化select语句,这方面技巧同样适用于其他带where的delete语句等,在where子句的列上设置索引;索引对于引用多个列如join和外键尤其重要
唯一Chat
2019/09/10
1.6K0
ClickHouse中,WHERE、PREWHERE子句和SELECT子句的使用
在ClickHouse中,WHERE和PREWHERE子句都用于筛选数据,但它们在查询中的使用有一些区别和注意事项。
一凡sir
2023/10/20
2.1K0
ClickHouse中,WHERE、PREWHERE子句和SELECT子句的使用
SQL WHERE 子句
如果只希望选取居住在城市 "Beijing" 中的人,我们需要向 SELECT 语句添加 WHERE 子句:
子润先生
2021/07/01
1K0
SQL中,having子句和where子句的区别
在SQL之中,where和having的功能有点像,导致我一直搞不清楚这两者的区别。因此今天专门研究了以下,在此记录。
灯珑LoGin
2022/10/31
2.7K0
SQL 查询条件放到 JOIN 子句与 WHERE 子句的差别
我们再写 SQL 的时候,最常碰到一个问题就是,把查询条件放到 JOIN 子句和放到 WHERE 子句有什么不同呢?比如:
Denis
2023/04/14
2.6K0
开心档之MySQL WHERE 子句
以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:
iOS Magician
2023/03/31
1.2K0
SQL学习之SELECT子句顺序
下面来总计下之前的随笔中所说过的所有的SELECT子句的顺序。 子句            说明            是否必须使用 SELECT                  要返回的列或者表达式                            是 FROM                     从中检索数据的表                     仅在从表中选择数据时使用 WHERE                          行级过滤                       
郑小超.
2018/01/24
9200
开心档之MySQL WHERE 子句
以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:
iOS Magician
2023/04/06
1K0
MySQL JSON 数组用于 WHERE IN 子句
例如,我们有一个包含用户 ID 的 JSON 数组 [1, 2, 3],我们希望查询所有这些用户的信息。在这种情况下,我们需要将 JSON 数组转换为 IN 子句的形式。
恋喵大鲤鱼
2023/10/12
1.2K0
Neo4j-1.5 WHERE子句
MATCH命令中可以用WHERE子句来过滤结果 简单WHERE子句: WHERE <condition> 复杂WHERE子句: WHERE <condition> <boolean-operator> <condition> 其中<condition>语法为: <property-name> <comparison-operator> <value> 语法说明: S.No. 语法元素 描述 1 WHERE 它是一个Neo4j CQL关键字。 2 <property-name><属性名称> 它是节点或关系的属
悠扬前奏
2019/11/29
8080
Select count(*)、Count(1)、Count(0)的区别和执行效率比较
结论 https://www.cnblogs.com/sueris/p/6650301.html 这里把上面实验的结果总结一下:
用户1212940
2022/04/13
1.4K0
原创 数据库3
count(*)—统计关系里面有多少元组 count(A)–计算属性A有多少个值 加distinct 就是查有多少不同的值 sum 就是把所有是a的属性求和 avg 求均值 A是某个表一个单个的属性
20岁爱吃必胜客
2022/11/12
2230
原创 数据库3
关于 Oracle 分组查询
COUNT()(个数)、SUM()(求和)、AVG()(平均)、MAX()(最大值)、MIN()(最小值)。
星哥玩云
2022/08/17
6350
知识点、SQL语句学习及详细总结
sql server详细的基础总结,可先点开CSDN自带的博客目录看看大体结构~ 一. 数据库简介和创建 1. 系统数据库 在安装好SQL SERVER后,系统会自动安装5个用于维护系统正常运行的系统数据库: (1)master:记录了SQL SERVER实例的所有系统级消息,包括实例范围的元数据(如登录帐号)、端点、链接服务器和系统配置设置。 (2)msdb:供SQL SERVER 代理服务调度报警和作业以及记录操作员的使用,保存关于调度报警、作业、操作员等信息。(备份还原时) (3)model:
慕白
2018/07/06
2K0
Studio 3T中的新功能:支持SQL SELECT DISTINCT,WHERE子句中的JSON对象及更多
并将DISTINCT与JOIN,SELECT,GROUP BY,HAVING和ORDER BY语句相结合。
MongoDB中文社区
2019/04/22
3.6K0
Studio 3T中的新功能:支持SQL SELECT DISTINCT,WHERE子句中的JSON对象及更多
MySQL 查询专题
MySQL中可根据需要使用很多条件操作符和操作符的组合。为了检查某个范围的值,可使用BETWEEN操作符。
acc8226
2022/05/17
5.2K0
为什么 select count(*) from t,在 InnoDB 引擎中比 MyISAM 慢?
统计一张表的总数量,是我们开发中常有的业务需求,通常情况下,我们都是使用 select count(*) from t SQL 语句来完成。随着业务数据的增加,你会发现这条语句执行的速度越来越慢,为什么它会变慢呢?
码农编程进阶笔记
2021/07/20
3970
为什么 select count(*) from t,在 InnoDB 引擎中比 MyISAM 慢?
SQL 基础(四)单关系数据查询
查询结果仍为表,WHERE、SELECT 分别相当于关系代数中的 选取、投影 操作
攻城狮杰森
2022/06/03
1.3K0
SQL 基础(四)单关系数据查询
点击加载更多

相似问题

在熊猫身上切开DataFrame?

14

熊猫MultiIndex DataFrame

19

熊猫multiIndex DataFrame分类

13

MultiIndex熊猫DataFrame栏

10

来自Dataframe的MultiIndex熊猫

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档