python - 在熊猫中逐行连接具有相同列值的数据帧
问题描述
我有两个数据框:
df1:
A B
0 12 some text
1 28 some text_1
2 28 some text_2
3 40 some text
4 50 some text
df2:
C D
0 11 some text_1
1 11 some text_2
2 12 some text
3 28 some text
4 40 some text
5 60 some text
这两个数据帧分别按列A
和C
(浮动)排序。而且我要:
df3
A B C D
0 NaN 11 some text_1
1 NaN 11 some text_1
2 12 some text 12 some text
3 28 some text_1 28 some text
4 28 some text_2 Nan
5 40 some text 40 some text
6 50 some text Nan
7 NaN 60 some text
所以我想用相同的列值逐行连接数据帧。
编辑 1
通过使用结果是具有和值df3 = df1.merge(df2, left_on=['A'], right_on=['C'], how='outer')
的所有相同行的笛卡尔积。这会创建一个更大的数据框以防万一,例如,如果我的时间值和时间相同,则结果将是带有.A
C
df1 n
x
df2 m
x
m*n (m > n)
x value
但我只想将第一n
行m from
df1
与n
_df2
m
n
df1
解决方案
如果您想确保 df1 中的 A、B 值与 df2 中的 C、D 相同(或修改列表以仅包含一列),请尝试以下操作:
df3 = df1.merge(df2, left_on=['A', 'B'], right_on=['C', 'D'], how='outer')
推荐阅读
- pyspark - 如何解析时间戳值并更改时间戳值
- java - 如何使用 Vert.x JDBC 客户端管理 Microsoft SQL Server?
- flutter - http.post 被解雇了两次
- android - 如何知道应用程序何时在屏幕 Android 中“现在”可见
- here-api - HERE Maps Api 反向地理编码和街道/道路方位
- generics - 返回通用结构的函数的签名是什么?
- xml - 如何在公共 API 合约中更好地组织 XML 数据中任意类型的存储?
- uitextfield - SwiftUI 如何获取对 List 内编辑 Textfield 的引用?
- wordpress - 从 woocommerce 中删除面板
- jakarta-mail - 每个文件夹都是 JavaMail IMAP 的 UIDFolder