合并数据框中的两列并在R中的现有数据框中创建新列

希拉

我正在尝试合并来自多个数据帧的信息。假设我有一个称为“ master”的主数据框,其中包含有关一堆汽车的信息。主数据帧可能具有所有ID。然后,假设我还有另外两个数据帧,每个数据帧都有一些ID和汽车的颜色,但不是全部。我想将所有与汽车ID相对应的汽车颜色放入现有的主数据框中。

Master df看起来像这样:

 id     year
 4D     2005
 5A     2003    
 7T     1999
 8Q     2001
 3G     1998
 6N     2009
 2B     2013

df1看起来像这样:

id     color
5A     black
7T     green
8Q     gold
4D     white

df2看起来像这样:

id     color
5A     NA
6N     purple
3G     NA
2B     orange

这是制作4个数据帧的代码:

master <- data.frame(id = c("4D", "5A", "7T", "8Q", "3G", "6N", "2B"), year=c(2005,2003,1999,2001,1998,2009,2013))
df1 <- data.frame(id=c("5A", "7T", "8Q", "4D"), color=c("black", "green", "gold", "white"))
df2 <- data.frame(id=c("5A", "6N", "3G", "2B"), color=c(NA,"purple", NA, "orange"))

我希望最终的主数据框架如下所示:

 id     year     color
 4D     2005     white
 5A     2003     black    
 7T     1999     green
 8Q     2001     gold
 3G     1998     NA
 6N     2009     purple
 2B     2013     orange

如果在一个数据帧中有相同ID的值,而在另一个数据帧中有相同ID的NA(即:ID 5A在df1中具有“黑色”,而在df2中则具有NA),则该值应存在于电子表格中。

有什么想法吗?我已经看过合并和堆栈功能,但是我不认为这些是解决问题的方法吗?

保罗·卡多佐(Paulo E. Cardoso)
df <- Master
df1
df2

dft <- rbind(df1, df2)

df3 <- dft[with(dft, order(id, color)), ]
df3 <- df3[!duplicated(df3$color), ]
merge(df, df3, by = 'id', all.x = T)

  id year  color
1 2B 2013 orange
2 3G 1998   <NA>
3 4D 2005  white
4 5A 2003  black
5 6N 2009 purple
6 7T 1999  green
7 8Q 2001   gold

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据现有数据框中的其他列创建一个新列

来自分类Dev

使用 R,如何使用现有数据框中列的中位数创建新数据集?

来自分类Dev

使用两个for循环和if语句在现有数据框中填充新列

来自分类Dev

使用Scala中数据框中的现有数据在数据框中创建arraytype列

来自分类Dev

通过删除一列,从现有数据框中创建具有如此多列的新数据框

来自分类Dev

将一列数据框添加到R中的现有数据框列中?

来自分类Dev

根据工作日从现有数据框中拆分并创建新数据框

来自分类Dev

R:如何根据特定规则从数据框中选择数据并将数据作为新列添加到现有数据框中

来自分类Dev

R:将新列添加到具有条件的现有数据框中

来自分类Dev

如何在现有数据框中添加零元素的新列?

来自分类Dev

在R中的两个现有数据框列之间进行选择时,更快的“ IF”语句解决方法

来自分类Dev

基于数据框中的两列创建新列

来自分类Dev

如何基于在熊猫数据框中具有NaN的现有列创建新列?

来自分类Dev

根据其他列ID从现有数据框中获取新熊猫数据框中的加权平均摘要数据列

来自分类Dev

根据现有列在数据框中创建新的累积列

来自分类Dev

如何从Pandas数据框中的现有列创建新列

来自分类Dev

根据条件从数据框中的现有列创建新列

来自分类Dev

分组汇总两列,并在pandas中创建新的数据框

来自分类Dev

从现有数据框列名称创建新的数据框列

来自分类Dev

如何遍历 R 数据框中的列并在每次迭代中使用列名创建新数据框?

来自分类Dev

使用数学和现有列在熊猫数据框中创建新值

来自分类Dev

根据R中的列合并数据框

来自分类Dev

R“合并”到数据框中的列

来自分类Dev

在熊猫数据框中创建新列

来自分类Dev

在R中合并两个数据框后如何打印新列

来自分类Dev

将新数据框插入现有数据框到Pandas中的特定行位置

来自分类Dev

使用现有数据框中的值的新数据框

来自分类Dev

在Pyspark中,如何将值列表作为新列添加到现有数据框?

来自分类Dev

如何从现有数据框创建新数据框

Related 相关文章

  1. 1

    根据现有数据框中的其他列创建一个新列

  2. 2

    使用 R,如何使用现有数据框中列的中位数创建新数据集?

  3. 3

    使用两个for循环和if语句在现有数据框中填充新列

  4. 4

    使用Scala中数据框中的现有数据在数据框中创建arraytype列

  5. 5

    通过删除一列,从现有数据框中创建具有如此多列的新数据框

  6. 6

    将一列数据框添加到R中的现有数据框列中?

  7. 7

    根据工作日从现有数据框中拆分并创建新数据框

  8. 8

    R:如何根据特定规则从数据框中选择数据并将数据作为新列添加到现有数据框中

  9. 9

    R:将新列添加到具有条件的现有数据框中

  10. 10

    如何在现有数据框中添加零元素的新列?

  11. 11

    在R中的两个现有数据框列之间进行选择时,更快的“ IF”语句解决方法

  12. 12

    基于数据框中的两列创建新列

  13. 13

    如何基于在熊猫数据框中具有NaN的现有列创建新列?

  14. 14

    根据其他列ID从现有数据框中获取新熊猫数据框中的加权平均摘要数据列

  15. 15

    根据现有列在数据框中创建新的累积列

  16. 16

    如何从Pandas数据框中的现有列创建新列

  17. 17

    根据条件从数据框中的现有列创建新列

  18. 18

    分组汇总两列,并在pandas中创建新的数据框

  19. 19

    从现有数据框列名称创建新的数据框列

  20. 20

    如何遍历 R 数据框中的列并在每次迭代中使用列名创建新数据框?

  21. 21

    使用数学和现有列在熊猫数据框中创建新值

  22. 22

    根据R中的列合并数据框

  23. 23

    R“合并”到数据框中的列

  24. 24

    在熊猫数据框中创建新列

  25. 25

    在R中合并两个数据框后如何打印新列

  26. 26

    将新数据框插入现有数据框到Pandas中的特定行位置

  27. 27

    使用现有数据框中的值的新数据框

  28. 28

    在Pyspark中,如何将值列表作为新列添加到现有数据框?

  29. 29

    如何从现有数据框创建新数据框

热门标签

归档