여러 열 조건에 따라 새 열 If Else 만들기

Gustavo Rottgering

비슷한 질문을 살펴 보려고했지만 검색 한 결과 도움이 될만한 것을 찾을 수 없었습니다.

데이터베이스에서 추출한 일일 보고서가 있지만 거기에 정확히 전달해야하는 정보가 하나 있습니다. 다음은 내가 추출한 것에 대한 예입니다.

col1           col2
wrongstring    correct
correctstring  correct
correctstring  correct
NaN            correct
NaN            NaN

col2의 정보는 이미 dict 및 replace를 사용하여 수정되었으며 NaN은 데이터베이스에서 누락 된 값이며 누락 된 값에 대한 올바른 문자열로이를 대체해야합니다. 오늘은 vlookup을 사용하여 Excel에서 수행되며 스크립트 내부에 구현하여 시간을 벌 수 있습니다.

내가하고 싶은 것은 :

df [ 'col1'] = 잘못된 문자열이면 새 열은 df [ 'col2'] 값을 사용합니다.

df [ 'col1']이 NaN이면 새 열은 df [ 'col2'] 값을 사용합니다.

두 열이 모두 NaN이면 새 열은 newstring을 사용해야합니다.

그렇지 않으면 df [ 'col1'] 값을 유지하십시오.

지금까지 오류가 발생하는이 코드를 작성했습니다 (.isnull () 부분에서 왔음을 이해하지만 수정할 방법을 찾을 수 없습니다).

df['newcolumn'] = [x in df['col2'] if x=='wrongstring' else ('newstring' if ((df['col1'].isnull()) and (df['col2'].isnull())) else x in df['col1']) 
                           for x in df['col1']] 

누군가가 나를 도울 수 있다면 내가 사용한 접근 방식이 올바르지 않거나 뭔가 빠졌을 수 있습니다. 결과는 다음과 같습니다.

col1           col2     newcolumn
wrongstring    correct  correct
correctstring  correct  correctstring  
correctstring  correct  correctstring  
NaN            correct  correct
NaN            NaN      newstring

도움을 주셔서 감사합니다. 건배.

에르 판

방법 1 : np.select

다중 조건부 열의 경우 다음을 사용할 수 있습니다 np.select.

m1 = df['col1'].eq('wrongstring')
m2 = df['col1'].eq('correctstring')
m3 = df['col1'].isna() & df['col2'].notna()

df['newcolumn'] = np.select([m1,m2,m3], 
                             [df['col2'], df['col1'], df['col2']], 
                             default='newstring')

            col1     col2     newcolumns
0    wrongstring  correct        correct
1  correctstring  correct  correctstring
2  correctstring  correct  correctstring
3            NaN  correct        correct
4            NaN      NaN      newstring

방법 2 : Series.mask& Series.fillna:

df['newcolumn'] = df['col1'].mask(
    df['col1'].eq('wrongstring')
).fillna(df['col2']).fillna('newstring')

            col1     col2      newcolumn
0    wrongstring  correct        correct
1  correctstring  correct  correctstring
2  correctstring  correct  correctstring
3            NaN  correct        correct
4            NaN      NaN      newstring

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python : 여러 조건에 따라 행에서 새 열 만들기

분류에서Dev

기존 열의 조건에 따라 새 열 만들기

분류에서Dev

조건에 따라 여러 열 중 하나와 같을 수있는 새 열 만들기 (Pandas)

분류에서Dev

다른 열의 조건에 따라 새 열 만들기

분류에서Dev

일련의 문자열 조건에 따라 새 열 만들기

분류에서Dev

조건문에 따라 다른 함수를 사용하여 여러 새 열 만들기

분류에서Dev

조건에 따라 pandas에 새 열 만들기

분류에서Dev

여러 열에 조건을 지정하여 새 열 만들기

분류에서Dev

조건에 따라 새로운 numpy 배열 만들기

분류에서Dev

함수를 사용하여 열이 충족하는 조건에 따라 Pandas에서 새 열 만들기

분류에서Dev

R : 여러 열이있는 조건에 따라 새 열 추가

분류에서Dev

조건부 논리를 사용하고 열이 있는지 여부에 따라 새 열 만들기

분류에서Dev

어떻게 여러 열별로 그룹화 및 파이썬 조건에 따라 새 열을 만들?

분류에서Dev

열 값에 따라 새 행 만들기

분류에서Dev

조건에 따라 2 개 배열에서 새 배열 만들기

분류에서Dev

조건에 따라 데이터 프레임에 새 열 만들기

분류에서Dev

여러 기간에 걸쳐 날짜가 다른 날짜 사이인지 여부에 따라 새 열 만들기

분류에서Dev

여러 열의 여러 조건을 기반으로 새 열 만들기

분류에서Dev

다른 열 R의 다른 값에 따라 새 열 만들기

분류에서Dev

테이블의 열에 따라 새 열 만들기

분류에서Dev

조건에 따라 여러 열에서 값 바꾸기

분류에서Dev

Regex 조건을 사용하여 Pandas DataFrame에 새 열 만들기

분류에서Dev

팬더를 사용하여 그룹 내 순위에 따라 새 열 만들기

분류에서Dev

조건에 맞게 새 열 만들기

분류에서Dev

값이 범위에 속하는 경우 다른 열의 조건에 따라 새 열 만들기

분류에서Dev

여러 조건에 따라 열의 특정 값만 교체

분류에서Dev

여러 열의 여러 특정 조건을 기반으로 pandas에서 새 열 만들기-Pandas

분류에서Dev

조건에 따라 여러 열의 값을 Pandas로 바꾸기

분류에서Dev

R의 조건에 따라 여러 열 빼기

Related 관련 기사

  1. 1

    Python : 여러 조건에 따라 행에서 새 열 만들기

  2. 2

    기존 열의 조건에 따라 새 열 만들기

  3. 3

    조건에 따라 여러 열 중 하나와 같을 수있는 새 열 만들기 (Pandas)

  4. 4

    다른 열의 조건에 따라 새 열 만들기

  5. 5

    일련의 문자열 조건에 따라 새 열 만들기

  6. 6

    조건문에 따라 다른 함수를 사용하여 여러 새 열 만들기

  7. 7

    조건에 따라 pandas에 새 열 만들기

  8. 8

    여러 열에 조건을 지정하여 새 열 만들기

  9. 9

    조건에 따라 새로운 numpy 배열 만들기

  10. 10

    함수를 사용하여 열이 충족하는 조건에 따라 Pandas에서 새 열 만들기

  11. 11

    R : 여러 열이있는 조건에 따라 새 열 추가

  12. 12

    조건부 논리를 사용하고 열이 있는지 여부에 따라 새 열 만들기

  13. 13

    어떻게 여러 열별로 그룹화 및 파이썬 조건에 따라 새 열을 만들?

  14. 14

    열 값에 따라 새 행 만들기

  15. 15

    조건에 따라 2 개 배열에서 새 배열 만들기

  16. 16

    조건에 따라 데이터 프레임에 새 열 만들기

  17. 17

    여러 기간에 걸쳐 날짜가 다른 날짜 사이인지 여부에 따라 새 열 만들기

  18. 18

    여러 열의 여러 조건을 기반으로 새 열 만들기

  19. 19

    다른 열 R의 다른 값에 따라 새 열 만들기

  20. 20

    테이블의 열에 따라 새 열 만들기

  21. 21

    조건에 따라 여러 열에서 값 바꾸기

  22. 22

    Regex 조건을 사용하여 Pandas DataFrame에 새 열 만들기

  23. 23

    팬더를 사용하여 그룹 내 순위에 따라 새 열 만들기

  24. 24

    조건에 맞게 새 열 만들기

  25. 25

    값이 범위에 속하는 경우 다른 열의 조건에 따라 새 열 만들기

  26. 26

    여러 조건에 따라 열의 특정 값만 교체

  27. 27

    여러 열의 여러 특정 조건을 기반으로 pandas에서 새 열 만들기-Pandas

  28. 28

    조건에 따라 여러 열의 값을 Pandas로 바꾸기

  29. 29

    R의 조건에 따라 여러 열 빼기

뜨겁다태그

보관