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

在创建的数据帧中选择突变列1字段2可变数据帧

莘康裕
2023-03-14
ifelse(status %in% target.marker_b, "Bad",
       ifelse(status %in% target_g, "Good", "N/A")
df$status_rank <- df %>% 
  select(status, status_rank) %>%
     mutate(status_rank = ifelse(status %in% target.marker_b, "Bad",
       ifelse(status %in% target_g, "Good", "N/A")))

df["status_rank"] <- "N/A"

然后对status_rank进行mutate操作,将其突变为2个观察点。需要更好的方法来创建一个新列并应用ifelse(状态%在%target.marker_b中,“bad”,ifelse(状态%在%target_g中,“good”,“n/a”)。寻找建议。

数据:dput(df$status)

"Current", "Fully Paid", "Current", "Fully Paid", "Charged Off", "Current", "Current", "Fully Paid", "Current", "Fully Paid", "Charged Off", "Late (31-120 days)", "Current", "Fully Paid", "Current", "Fully Paid", "Charged Off", "Current", "Current", "Fully Paid", "Late (31-120 days)", "Fully Paid", "Charged Off", "Current"

共有1个答案

糜雪峰
2023-03-14

如果没有一个可复制的示例,要理解您所讨论的内容会有点困难,但是dplyr中的case_when函数可能会让您感兴趣:

# Untested code (as no sample data was given)

library(dplyr)

df %>% 
  mutate(status_rank = case_when(
    status %in% target.marker_b ~ "Bad",
    status %in% target_g ~ "Good",
    TRUE ~ "N/A" # Default condition to catch other cases
  ))

如果需要na值而不是字符“n/a”,则不需要默认条件。不满足任何条件的行将被赋予值NA_character_

df %>% 
  mutate(status_rank = case_when(
    status %in% target.marker_b ~ "Bad",
    status %in% target_g ~ "Good"
  ))
 类似资料:
  • 我有两个熊猫数据框 步骤2:对于flag=1的行,AA_new将计算为var1(来自df2)*组“A”和val“AA”的df1的'cal1'值*组“A”和val“AA”的df1的'cal2'值,类似地,AB_new将计算为var1(来自df2)*组“A”和val“AB”的df1的'cal1'值*组“A”和val“AB”的df1的'cal2'值 我的预期输出如下所示: 以下基于其他stackflow

  • 我有一个数据框,我正在使用TIA来填充彭博社的数据。当我看着df。索引我看到我打算成为列的数据以多索引的形式呈现给我。df的输出。列是这样的: 索引([u'column1','u'column2']) 我尝试过各种reset_index的迭代,但都无法补救这种情况。 1) TIA管理器如何使数据帧列作为索引读入? 2) 如何正确地将这些列标识为列而不是多索引? 我试图解决的最终问题是,当我尝试将此

  • 如何根据Pandas中某个列中的值从中选择行? 在SQL中,我将使用: 我试图查看熊猫的文档,但我没有立即找到答案。

  • 我试图查看熊猫的文档,但我没有立即找到答案。

  • 我使用rdd读取csv文件,只从dataframe中获取一列,并使用scala toArray将其转换为数组。 之后,我在sql中使用这个数组来检查这个数组中是否有一个字段值。 我使用Postgresql和jooq 3.11,但无论我怎么努力,我不能呈现sql,因为它需要。 下面的代码是。但是,它不会生成sql。我在用和,以及()中的相同问题的版本:

  • 假设我有一个7列的数据帧,有些行有7个值,有些行的NAs超过了某个点。我想抓住最后一个值(从左到右),不是NA,然后直接向左的值。它是分层数据,但有些组比其他组更深。我想要最深和第二深的组在一个新的数据帧的两列。 这段代码可以工作,但对于46K观测值的数据帧,我的内存已达到最大。有没有比这更有效的方法? 第一次发帖。通常我可以拼凑我需要从这个网站。提前感谢。