df 열 이름의 DF 열에서 값 조회, 해당 행에 대한 값 가져 오기

오렌지 맨 51

내 DF :

dataAB <- c("A","B","A","A","B")
dataCD <- c("C","C","D","D","C")
dataEF <- c("F","E","E","E","F")
key <- c("dataC","dataA","dataC","dataE","dataE")
df <- data.frame(dataAB,dataCD,dataEF,key)

DF 이름에서 "key"의 값을 찾고 해당 열의 값을 행에 사용하는 열을 추가하고 싶습니다. 내 결과는 다음과 같습니다.

df$result <- c("C","B","D","E","F")

"key"열의 값은 df의 열 이름과 부분적으로 만 일치하며 열 이름의 전체 이름이 아닙니다. 나는 내가 필요 grep하거나 grepl어딘가에 있을 것이라고 생각한다 . 다음 코드에 변화를 시도했지만, 일을 아무것도 얻을 수 없다, 나는 적용하는 방법을 확실 해요 grep또는 grepl이 경우.

df$result <- mapply(function(a) {df[[as.character(a)]]}, a=df$key)
로낙 샤

applywith margin = 1(row-wise)를 사용하여 어떤 열 grepl에서 패턴을 감지하는 데 도움 이되는 값 을 가져와야합니다.

df$result <- apply(df, 1, function(x) x[grepl(x["key"], names(x))])
df

#  dataAB dataCD dataEF   key result
#1      A      C      F dataC      C
#2      B      C      E dataA      B
#3      A      D      E dataC      D
#4      A      D      E dataE      E
#5      B      C      F dataE      F

또 다른 옵션은 mapply사용하여 값을 추출해야하는 열을 찾은 sapply다음 각 행에서 해당 값을 가져 오는 것입니다.

df$result <- mapply(function(x, y) df[x, y], 1:nrow(df), 
            sapply(df$key, function(x) grep(x, names(df), value = TRUE)))

df

#  dataAB dataCD dataEF   key result
#1      A      C      F dataC      C
#2      B      C      E dataA      B
#3      A      D      E dataC      D
#4      A      D      E dataE      E
#5      B      C      F dataE      F

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

DF의 최대 값에 대한 색인 이름 가져 오기

pandas df1과 df2의 값이 열에 겹치는 동안 df1에 대해 df2에서 값을 가져오는 방법

R의 DF에서 일치하는 행 값을 기반으로 열 이름 가져오기

pandas df : B 열에서 고유 한 행에 대해서만 A 열의 값 변경

다른 데이터 프레임의 열 이름과 일치하는 다른 조회 열에 대한 조건부 조회 열에서 값 가져오기

Pyspark df에서 해당 열의 상수 값으로 열 이름 및 사전 값으로 사전 키 추가

열 값이 열 df2에없는 경우 df1의 행 가져 오기

인덱스 목록에 따라 df의 열 값 가져오기

R의 DF에서 일치하는 행 값을 기반으로 열 이름 가져오기(3개 이상의 열 이름)

팬더: 행 값을 기반으로 한 df에서 열 레이블을 가져오고 이를 새 df의 행 값으로 할당하는 방법은 무엇입니까?

groupby 후 anothe 열의 값에 해당하는 한 열의 값 가져 오기

Pandas DataFrame의 특정 행에 대한 최대 값의 열 이름 가져 오기

조건이 충족되는 행에 대한 열의 최대 값 가져 오기

df1의 열 값을 기반으로 df2의 교차 값을 조회하고 df1에서 검색된 값으로 새 열을 만듭니다 (일치하지 않는 열 이름).

Python Pandas-열의 MAX 값에 대해 DF의 행만 표시

한 df의 열 이름을 다른 df에서 찾은 값과 어떻게 일치시킬 수 있습니까? 발견된 경우 해당 열의 이름을 추가 값으로 바꾸나요?

행 하위 집합에 대한 다른 열의 최소값에 해당하는 한 열에서 값 가져 오기

행렬 (R)에있는 다른 열의 최대 값에 해당하는 한 열의 값을 가져 오나요?

py df groupby 및 문자열에 값 가져 오기

df 열 간의 최소 차이 값 가져오기

목록 내에서 df의 특정 열 이름 가져 오기

모든 고유 한 날짜에 대해 매우 특정한 시간에 DF의 열에서 값 찾기

df의 모든 열에 대한 요약 가져 오기 (dplyr :: count)

열 이름과 값 DF 팬더에서 새 열 만들기

열 df 값을 다른 df에 추가

다른 열 값과 관련하여 df의 열에서 상위 2 개 점수 가져 오기

두 열 (하나의 다중 열)의 가장 높은 행 값에 대해 df를 정렬하지만 다중 열 기본 순서는 유지합니다.

2 개의 df 열에서 동일한 값 찾기 python

TSQL : 열에 대한 최대 값이있는 행 가져 오기

TOP 리스트

  1. 1

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  2. 2

    std :: regex의 일관성없는 동작

  3. 3

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  4. 4

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  5. 5

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  6. 6

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  7. 7

    Ionic 2 로더가 적시에 표시되지 않음

  8. 8

    Seaborn에서 축 제목 숨기기

  9. 9

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  10. 10

    복사 / 붙여 넣기 비활성화

  11. 11

    ArrayBufferLike의 typescript 정의의 깊은 의미

  12. 12

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  13. 13

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

  14. 14

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  15. 15

    PRNG 기간보다 순열이 더 많은 목록을 무작위로 섞는 방법은 무엇입니까?

  16. 16

    C # HttpWebRequest 기본 연결이 닫혔습니다. 전송시 예기치 않은 오류가 발생했습니다.

  17. 17

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  18. 18

    잘못된 구성 개체입니다. Webpack이 Angular의 API 스키마와 일치하지 않는 구성 개체를 사용하여 초기화되었습니다.

  19. 19

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  20. 20

    R의 마침표와 숫자 사이에 문자열 삽입

  21. 21

    Assets의 BitmapFactory.decodeStream이 Android 7에서 null을 반환합니다.

뜨겁다태그

보관