将条件添加到另一个数据框上的条件的数据框

蜜雪儿

这可能是一个非常简单的问题,但是即使浏览了许多类似的帖子,我也很难弄清楚。

我有两个数据框,dvaluessvalues

dvalues

district   districtID   value    state
Badgam     1002          30.2    N/A
Pulwama    1012          10.9    N/A
Kangra     2002          10.2    N/A
Amritsar   3015          29.8    N/A
...

svalues

state            stateID
Jammu & Kashmir     1000
Himachal Pradesh    2000
Punjab              3000
....

我想在状态列中为每一行添加一个值,条件是该districtID值介于两个stateID之间

例如,由于Badgam和和Pulwama(文件1中的前两个值)的districtID值在1000到2000之间,因此状态名称应为"Jammu & Kashmir"同样,KangraID在2000到3000之间的地区应使用州名"Himachal Pradesh"

我的最终结果应该是什么样的:

district   districtID   value    state
Badgam     1002          30.2    Jammu & Kashmir
Pulwama    1012          10.9    Jammu & Kashmir
Kangra     2002          10.2    Himachal Pradesh
Amritsar   3015          29.8    Punjab
...

在许多尝试中,这是唯一有效的方法:

dvalues$state<-
 ifelse(dvalues$districtID<2000,"Jammu & Kashmir", 
  ifelse(dvalues$districtID>2000 & dvalues$districtID<3000,"Himachal Pradesh",
    ifelse(dvalues$districtID>3000 & dvalues$districtID<4000,"Punjab",
      ifelse(dvalues$districtID>4000 & dvalues$districtID<5000,"Chandigarh",
       ...

但是,这很慢且很丑,更不用说有36行了-我想知道是否有更优雅的解决方案。

谢谢,我非常感谢您的回答。

人来人往

如果您的间隔始终保持为一千,那么一个简单的解决方法是-

dvalues$stateID <- dvalues$districtID - (dvalues$districtID %% 1000)
dvalues <- merge(dvalues, svalues, by = 'stateID')

但总的来说,对于这种间隔内合并的情况,我使用data.tableroll参数-

library(data.table)

# converting data.frames to data.tables
svalues <- data.table(svalues)
dvalues <- data.table(dvalues)

# removing state column from dvalues as we will be getting that from svalues
dvalues[,state := NULL]

#setting keys
setkeyv(svalues,'stateID')
setkeyv(dvalues,'districtID')

# merging the data sets based on values in the key columns
# roll = Inf looks for the previous matching value on the key and merges with that
# see help entry for data.table to understand more
svalues[dvalues, roll = +Inf]

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据熊猫的条件将缺失的行从一个数据框添加到另一个数据框?

来自分类Dev

将数据框列添加到另一个数据框

来自分类Dev

将数据框列添加到另一个数据框

来自分类Dev

根据另一个数据框中的匹配条件将列添加到R中的数据框中

来自分类Dev

根据R中的两个匹配条件,将值从一个数据帧添加到另一个数据帧

来自分类Dev

选择在另一个数据框上条件的一个数据框的行号

来自分类Dev

如何将Spark数据框添加到另一个数据框的底部?

来自分类Dev

如何将值从数据框添加到另一个数据框以获取正确的索引?

来自分类Dev

根据另一个数据框中的值将列添加到数据框中

来自分类Dev

根据来自另一个数据框的计数将列添加到数据框

来自分类Dev

R Studio:将数据框的列添加到另一个数据框(合并)

来自分类Dev

如何使用另一个数据框将列添加到数据框?

来自分类Dev

将列从一个数据框添加到另一个python pandas

来自分类Dev

将一个数据框的列添加到另一个数据框,以获取重叠列中的值

来自分类Dev

如何基于另一个数据框上的条件匹配在数据框中创建新列?

来自分类Dev

如何将特定数据从一个数据框添加到另一个较大的数据框?

来自分类Dev

根据来自另一个数据框的两个行值的对应值将列添加到数据框

来自分类Dev

使用条件将数据从一个数据框填充到另一个数据框,然后重复填充直到条件更改

来自分类Dev

Python Pandas-在特定行上添加列,将特定行从一个数据框添加到另一个

来自分类Dev

大熊猫:将行从一个数据框添加到另一数据框?

来自分类Dev

R-使用另一个数据框的匹配值将新列添加到数据框

来自分类Dev

如何将数据框添加到通过熊猫生成器创建的另一个数据框

来自分类Dev

将日期列添加到数据框以引用另一个日期列

来自分类Dev

将数据框添加到另一个

来自分类Dev

根据条件从另一个数据框的值向数据框添加新列

来自分类Dev

根据条件用另一个数据框的数据丰富一个数据框

来自分类Dev

如何根据特定规则将一个数据框中的列添加到另一个数据框中

来自分类Dev

如何在R bu中对数据框进行子集提取,以及如何基于类似的列将一个数据框的列添加到另一个数据框

来自分类Dev

将一个数据框中的一列元素添加到另一个数据框中另一列的元素

Related 相关文章

  1. 1

    如何根据熊猫的条件将缺失的行从一个数据框添加到另一个数据框?

  2. 2

    将数据框列添加到另一个数据框

  3. 3

    将数据框列添加到另一个数据框

  4. 4

    根据另一个数据框中的匹配条件将列添加到R中的数据框中

  5. 5

    根据R中的两个匹配条件,将值从一个数据帧添加到另一个数据帧

  6. 6

    选择在另一个数据框上条件的一个数据框的行号

  7. 7

    如何将Spark数据框添加到另一个数据框的底部?

  8. 8

    如何将值从数据框添加到另一个数据框以获取正确的索引?

  9. 9

    根据另一个数据框中的值将列添加到数据框中

  10. 10

    根据来自另一个数据框的计数将列添加到数据框

  11. 11

    R Studio:将数据框的列添加到另一个数据框(合并)

  12. 12

    如何使用另一个数据框将列添加到数据框?

  13. 13

    将列从一个数据框添加到另一个python pandas

  14. 14

    将一个数据框的列添加到另一个数据框,以获取重叠列中的值

  15. 15

    如何基于另一个数据框上的条件匹配在数据框中创建新列?

  16. 16

    如何将特定数据从一个数据框添加到另一个较大的数据框?

  17. 17

    根据来自另一个数据框的两个行值的对应值将列添加到数据框

  18. 18

    使用条件将数据从一个数据框填充到另一个数据框,然后重复填充直到条件更改

  19. 19

    Python Pandas-在特定行上添加列,将特定行从一个数据框添加到另一个

  20. 20

    大熊猫:将行从一个数据框添加到另一数据框?

  21. 21

    R-使用另一个数据框的匹配值将新列添加到数据框

  22. 22

    如何将数据框添加到通过熊猫生成器创建的另一个数据框

  23. 23

    将日期列添加到数据框以引用另一个日期列

  24. 24

    将数据框添加到另一个

  25. 25

    根据条件从另一个数据框的值向数据框添加新列

  26. 26

    根据条件用另一个数据框的数据丰富一个数据框

  27. 27

    如何根据特定规则将一个数据框中的列添加到另一个数据框中

  28. 28

    如何在R bu中对数据框进行子集提取,以及如何基于类似的列将一个数据框的列添加到另一个数据框

  29. 29

    将一个数据框中的一列元素添加到另一个数据框中另一列的元素

热门标签

归档