将值分配给另一个df的df $列?

迈克·JJ

示例:我有一个df,其中第一列是

dat <- c("A","B","C","A")

然后在第一栏中有另一个df:

dat2[, 1]
[1] A B C
Levels: A B C

dat2[, 2]
[1] 21000 23400 26800

如何将第二个df(dat2)中的值添加到第一个df(dat)中?在第一个df中有重复项,我希望每次有一个“ A”时,它将在新列中添加第二个df中的相应值(21000)。

产生可复制的数据框...

dat1 <- data.frame(x1 = c("A","B","C","A"), stringsAsFactors = FALSE)
dat2 <- data.frame(x1 = c("A","B","C"),
                   x2 = c(21000, 23400, 26800), stringsAsFactors = FALSE)

然后使用该match功能。

dat1$dat2_vals <- dat2$x2[match(dat1$x1, dat2$x1)]

将字符列转换为character类型而不是factor类型很重要,否则元素将不匹配。由于levels您dat2中属性,我提到了这一点。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何防止熊猫仅将一个df的值分配给另一行的另一列?

使用另一个数据框将值分配给多列数据框

将列df值追加到另一个df

根据条件将df中的列除以另一个df值

将一个数据框中的列的值分配给另一个数据框中的列

根据另一个列的值(基于将值分配给来自输入列的字符串值集)创建列

将一个 Pandas 数据框中的多行和多列分配给另一个

在R中,如果行和列的值匹配,如何将一列的内容分配给另一个?

Python Pandas - 如何将 df 中的列值与另一个 df 的列值进行比较

使用另一个df替换列值

将列分配给pandas df

熊猫,如何避免使用iterrow(如何根据另一个数据框的值将值分配给数据框的新列)

如何通过比较另一个数据框中的值将值分配给数据框的列

使用第二个熊猫df中的条件将值分配给列

如何通过检查2列中的值来将1 df的列映射为另一个df

根据另一个df列的值范围设置熊猫df列的值

Pandas:当列值与另一个 DF 的列值匹配时提取 DF 的行

熊猫:如何基于另一列将一个列值分配给变量?

如果值相同,Python Pandas将列从df复制到另一个

根据另一个 df 更改 df1 列中的值

将一个范围的每一项分配给散列中另一个范围的每一项

如何将一个数组的多行和多列分配给 Python 中另一个数组的相同行和列?

有条件地将多列分配给另一个 DataFrame(条件决定了该行中的哪一组列被分配)

熊猫:将列从另一个df插入到某个位置的新df

将一个df的一列连接到另一个df的所有列

pandas:从一个df中搜索包含列表的另一个df列中的列值

熊猫根据其他列的值从另一个更新一个df

从另一个数据框中的唯一值以及分配给该列的相应值中创建带有列名的新数据框

根据条件从第一个df到另一个df的列值