当前位置: 首页 > 知识库问答 >
问题:

从两个数据帧中匹配姓名,从一个数据帧中提取中间名并将其附加到另一个数据帧中

诸修伟
2023-03-14

我有两个几乎完全相同的数据帧A和B.实际上,这是两个数据帧,每个有1000+个名称。 我想从两个数据帧中匹配姓名,然后从数据帧B提取中间名到数据帧A。

    data frame A
name         surname
John         Doe
Tom          Sawyer
Huckleberry  Finn

 data frame    B
name    middle_name  surname
John    `O               Doe
Tom     Philip           Sawyer
Lilly   Tomas            Finn

我寻求的结果是:

name    middle name    surname
John    `O             Doe
Tom     Philip         Sawyer

共有1个答案

勾长卿
2023-03-14

您可以将df.merge与参数how='inner'on=['name','surname']一起使用。 要获得正确的顺序,请使用轴1上的df.reindex

df = df.merge(df1,how='inner',on=['name','surname'])
df.reindex(['name', 'middle_name', 'surname'])

   name middle_name surname
0  John          `O     Doe
1   Tom      Philip  Sawyer
 类似资料:
  • 我有两个数据帧df1和df2 df1如下 df2就像 我想根据df2中与df1中的列名匹配的单元格值将值从df1复制到df2,所以我的df3应该看起来像 df3 基本上,我想根据df2的单元格值(df1中的列名)从df1复制df2中的列 如果它仍然令人困惑,请告诉我

  • 这是我的密码: 我想知道如何将df3绑定到单个数据帧中作为"NA"s? 我在r_blogger上找到了一篇关于将向量或长度不等的数据帧组合成一个数据帧的文章。http://www.r-bloggers.com/r-combining-vectors-or-data-frames-of-unequal-length-into-one-data-frame/ 但是我从数据中得到的数据框,其中一些是空的

  • 我有两个实体:矩阵和数据帧。矩阵在所有单元格中都有数字。第二个数据帧在几个单元格中有NA。如何确保第一个矩阵的NA与后一个数据帧中的NA处于相同的精确位置。 我试着完成。case()和na。省略,但不幸的是,这将一起删除行。我尝试了一个for循环,它先按列迭代,然后按行迭代,检查单元格的位置是否为零,并返回位置,然后将该位置反馈到indp数据帧中-得到一些关于维度的错误: 贯穿我的逻辑。这将一次迭

  • 我有两个数据帧,它们的列名相同,但行数不同。第一个数据帧(a)看起来与此类似: 注:站点5、6、8和12故意丢失。 第二个数据帧(b)看起来像这样: 我想要实现的是: 在那里我注入(我肯定有一个更好的术语)数据帧b到数据帧a的数据,但是我想用零替换b中的任何NAs,并保持a中的NAs不变。 我发现并尝试了这个代码: 但它会带来NAs。我考虑先将NAs替换为零,但即使如此,它也会抹去我目前在数据帧a

  • 我有两个数据框,都包含英文和中文单词字符串,我想知道其中一个是另一个的子集:

  • 我有两个数据帧,一个包含数据,第二个包含代码及其解码值。我想将df1[代码]与df2[代码]匹配,并将df2[值]粘贴在df1中。需要注意的是,我的第二个数据帧包含代码和值一次,基本上是一张代码和值,但在第一个数据帧中,代码是重复的,因此将粘贴的值列应该代表每次代码出现在df1[代码]列中时的值。 我需要: 基本上是从第二个数据帧转换一个数据帧中的代码。

  • 我有两个数据帧df1和df2。df1就像一个具有以下值的字典 df2具有以下值: 我想基于df1数据帧中的,将df2拆分为3个新的数据帧。 日期,TLRA_权益栏应位于数据框 预期产出: > 数据帧 消费者,非周期性数据帧 请让我知道如何有效地做。我想做的是连接列名,例如,然后根据列名的前半部分分割数据帧。 代码: 但这很复杂。需要更好的解决方案。

  • 我有一个订单数据帧: 我有另一个唯一的菜单项数据帧,它有自己的特定ID: 现在我要匹配元素,并通过在orders数据帧中打印其chat_id来返回其ID