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

user1777900

열의 작은 연속 하위 집합에서만 값을 변경하려는 매우 큰 데이터 프레임이 있습니다. 기본적으로 해당 열에서 값은 정수 또는 널입니다. 내가 원하는 것은 0과 null을 'No'로 바꾸고 나머지는 모두 해당 열에서만 'Yes'로 바꾸는 것입니다.

R에서는 기본적으로 하나의 라이너로 수행 할 수 있습니다.

df <- df %>%
mutate_at(vars(MCI:BNP), ~factor(case_when(. > 0 ~ 'Yes',
                                           TRUE ~ 'No')))

그러나 우리는 Python으로 작업하고 있으며 Pandas를 사용하여 동등한 것을 파악할 수 없습니다. 단일 열만 변경할 때 잘 작동하는 loc 및 iloc을 엉망으로 만들었지 만 여러 열을 수정할 때 뭔가 누락되어야합니다. 그리고 다른 stackoverflow 답변에서 찾은 답변은 모두 일부 조건 집합에 따라 단일 열의 값을 변경하는 것입니다.

col1 = df.columns.get_loc("MCI")
col2 = df.columns.get_loc("BNP")
df.iloc[:,col1:col2]

원하는 열을 얻을 수 있지만 loc을 호출하려고하면 다차원 키로 작동하지 않습니다. 추가 변수를 만들어 정수 인덱스 대신 목록으로 열을 사용하여 시도했습니다.

binary_var = ['MCI','PVD','CVA','DEMENTIA','CPD','RD','PUD','MLD','DWOC','DWC','HoP','RND','MALIGNANCY','SLD','MST','HIV','AKF',
          'ARMD','ASPHY','DEP','DWLK','DRUGA','DUOULC','FALL','FECAL','FLDELEX','FRAIL','GASTRICULC','GASTROULC','GLAU','HYPERKAL',
          'HYPTEN','HYPOKAL','HYPOTHYR','HYPOXE','IMMUNOS','ISCHRT','LIPIDMETA','LOSWIGT','LOWBAK','MALNUT','OSTEO','PARKIN',
          'PNEUM','RF','SEIZ','SD','TUML','UI','VI','MENTAL','FUROSEMIDE','METOPROLOL','ASPIRIN','OMEPRAZOLE','LISINOPRIL','DIGOXIN',
          'ALDOSTERONE_ANTAGONIST','ACE_INHIBITOR','ANGIOTENSIN_RECEPTOR_BLOCKERS','BETA_BLOCKERSDIURETICHoP','BUN','CREATININE',
          'SODIUM','POTASSIUM','HEMOGLOBIN','WBC_COUNT','CHLORIDE','ALBUMIN','TROPONIN','BNP']
df.loc[df[binary_var] == 0, binary_var]

그러나 그런 다음 해당 열 이름에 대한 색인을 전혀 찾을 수 없습니다. Pandas는 원래 정수였던 열을 No / Yes로 변환하는 데 문제가 있다고 생각합니다. 제자리에서이 작업을 수행 할 필요는 없습니다. 판다 스가 내장 한 간단한 것을 놓치고있을 것입니다.

매우 의사 코드 설명에서 내가 정말로 원하는 것은

if(df.iloc[:,col1:col2] == 0 || df.iloc[:,col1:col2].isnull())
    df ONLY in that subset of column = 'No'
else
    df ONLY in that subset of column = 'Yes'
Cainã Max Couto-Silva

사용하다:

df.loc[:, 'MCI':'BNP'] = np.where(df.loc[:, 'MCI':'BNP'] > 0, 'Yes', 'No')

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

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

분류에서Dev

Pandas DataFrame의 조건에 따라 열의 값 바꾸기

분류에서Dev

팬더 : 여러 열의 조건에 따라 값을 np.nan으로 바꾸는 방법

분류에서Dev

Pandas의 조건에 따라 여러 행의 값을 다른 행의 값으로 바꿉니다.

분류에서Dev

조건에 따라 한 열의 항목을 다른 열로 바꾸기

분류에서Dev

조건에 따라 데이터 프레임의 열에있는 여러 값 바꾸기

분류에서Dev

조건에 따라 여러 열 값을 NaN으로 설정

분류에서Dev

팬더의 다른 열 및 조건에 따라 열 값에 따라 바꾸기

분류에서Dev

조건에 따라 열의 값 바꾸기

분류에서Dev

조건에 따라 값을 dplyr로 바꾸기

분류에서Dev

Pandas-여러 조건에 따라 빈 열에 값 할당

분류에서Dev

중첩 된 목록의 값을 조건에 따라 다른 중첩 된 목록의 값으로 바꾸기

분류에서Dev

dplyr로 여러 열을 추가하고 조건에 따라 셀 채우기

분류에서Dev

다른 열의 값에 따라 열의 값을 조건부로 바꾸는 방법은 무엇입니까?

분류에서Dev

조건에 따라 Pandas DataFrame의 값을 어떻게 바꾸나요?

분류에서Dev

다중 열 조건에 따라 Pandas에서 NaN 바꾸기

분류에서Dev

Python의 여러 조건으로 배열의 문자열 값 바꾸기

분류에서Dev

여러 조건부 기준에 따라 열 값 할당

분류에서Dev

Pandas : 조건에 따라 여러 열 가져 오기

분류에서Dev

Pandas는 여러 조건에 따라 행을 바꿉니다.

분류에서Dev

R의 조건에 따라 값 바꾸기

분류에서Dev

조건에 따라 행의 값 바꾸기

분류에서Dev

Pandas의 여러 조건에 따라 행당 열을 선택하는 방법

분류에서Dev

Pandas는 여러 조건에 따라 여러 열을 변경합니다.

분류에서Dev

여러 열 이름을 조건부로 이름 바꾸기

분류에서Dev

Pandas의 날짜 조건에 따라 한 열의 값을 NaN으로 바꿉니다.

분류에서Dev

조건에 따라 목록이 포함 된 열을 Pandas의 여러 행으로 분할

분류에서Dev

루프를 사용하지 않고 여러 조건을 기반으로 numpy 배열의 값 바꾸기

분류에서Dev

Pandas의 여러 키 열에 따라 값을 뺍니다.

Related 관련 기사

  1. 1

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

  2. 2

    Pandas DataFrame의 조건에 따라 열의 값 바꾸기

  3. 3

    팬더 : 여러 열의 조건에 따라 값을 np.nan으로 바꾸는 방법

  4. 4

    Pandas의 조건에 따라 여러 행의 값을 다른 행의 값으로 바꿉니다.

  5. 5

    조건에 따라 한 열의 항목을 다른 열로 바꾸기

  6. 6

    조건에 따라 데이터 프레임의 열에있는 여러 값 바꾸기

  7. 7

    조건에 따라 여러 열 값을 NaN으로 설정

  8. 8

    팬더의 다른 열 및 조건에 따라 열 값에 따라 바꾸기

  9. 9

    조건에 따라 열의 값 바꾸기

  10. 10

    조건에 따라 값을 dplyr로 바꾸기

  11. 11

    Pandas-여러 조건에 따라 빈 열에 값 할당

  12. 12

    중첩 된 목록의 값을 조건에 따라 다른 중첩 된 목록의 값으로 바꾸기

  13. 13

    dplyr로 여러 열을 추가하고 조건에 따라 셀 채우기

  14. 14

    다른 열의 값에 따라 열의 값을 조건부로 바꾸는 방법은 무엇입니까?

  15. 15

    조건에 따라 Pandas DataFrame의 값을 어떻게 바꾸나요?

  16. 16

    다중 열 조건에 따라 Pandas에서 NaN 바꾸기

  17. 17

    Python의 여러 조건으로 배열의 문자열 값 바꾸기

  18. 18

    여러 조건부 기준에 따라 열 값 할당

  19. 19

    Pandas : 조건에 따라 여러 열 가져 오기

  20. 20

    Pandas는 여러 조건에 따라 행을 바꿉니다.

  21. 21

    R의 조건에 따라 값 바꾸기

  22. 22

    조건에 따라 행의 값 바꾸기

  23. 23

    Pandas의 여러 조건에 따라 행당 열을 선택하는 방법

  24. 24

    Pandas는 여러 조건에 따라 여러 열을 변경합니다.

  25. 25

    여러 열 이름을 조건부로 이름 바꾸기

  26. 26

    Pandas의 날짜 조건에 따라 한 열의 값을 NaN으로 바꿉니다.

  27. 27

    조건에 따라 목록이 포함 된 열을 Pandas의 여러 행으로 분할

  28. 28

    루프를 사용하지 않고 여러 조건을 기반으로 numpy 배열의 값 바꾸기

  29. 29

    Pandas의 여러 키 열에 따라 값을 뺍니다.

뜨겁다태그

보관