주어진 행의 값과 동일한 팬더에서 열 이름 가져 오기

야홉 19531

다음과 같은 테이블이 있습니다.

  Scen  F1  F2  F3  F4
0   S1   1   0   1   0
1   S2   0   1   0   1

Scen해당 행에 대해 == 1 인 열 이름 을 검색 하고 반환 하려고합니다 ( 예 : 결과로 S1필요한 F1, F3경우).

나는 다음을 시도했고 하드 코딩으로 결과를 얻을 수 df_col[0]있지만 이것을 동적으로 할 수 있어야합니다.

이를 수행하는 가장 좋은 방법은 무엇입니까?

import pandas as pd

d = {'Scen': ["S1", "S2"],
     'F1': [1, 0],
     'F2': [0, 1],
     'F3': [1, 0],
     'F4': [0, 1]
    }
df = pd.DataFrame(data=d)

def get_features(df, col_name):
    df_col = df[(df.Scen == col_name)].T
    feats = (df_col[(df_col[0] == 1)]).index.to_list()

    print(feats)
    return feats

get_features(df, "S1")
get_features(df, "S2")

편집하다:

를 기반으로 RichieV 의 대답은,이 작품 :

def get_features(df, col_name):
    df = df.replace(0, np.nan)
    df = df.melt('Scen')
    df_scen = (df['variable'].loc[(df['Scen']==col_name) & (df['value']==1)])
    return (list(df_scen))
RichieV

이것은 원-핫 디코딩 작업입니다. 하나로 인코딩 할 때 열을 피벗하므로 이제 다시 녹여야합니다.

df = df.replace(0, np.nan) # get rid of zeros, they only fill spaces
df = df.melt('Scen').drop('value', axis=1)

이제 df에는 각 해당 특성에 대해 반복되는 scen 행이있는 4 개의 행과 2 개의 열 (scen 및 변수)이 있습니다. df를 그대로 사용하거나 시나리오별로 그룹화하고 기능을 목록으로 수집 할 수 있습니다.

df = df.groupby('Scen').apply(list)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

팬더의 주어진 셀 값에서 행 가져 오기

분류에서Dev

Pandas의 열에서 동일한 값을 가진 행 가져 오기

분류에서Dev

두 열의 값이 동일한 두 개의 주어진 날짜 사이에서 팬더 데이터 프레임을 선택하십시오.

분류에서Dev

Excel에서 특정 행과 일치하는 열의 열 이름 가져 오기

분류에서Dev

어떻게 갱신 팬더 열 셀 값에 대한 행 수준에있는 다른 열 이름을 가진 일부 요소의 유사성을 기반으로

분류에서Dev

다중 값 특정 열이있는 여러 행의 동일한 값에서 하나의 행 가져 오기

분류에서Dev

하나의 열에 동일한 열 이름을 가진 레코드 범위 내의 값이있는 레코드 가져 오기

분류에서Dev

동일한 테이블의 행에서 값 가져 오기

분류에서Dev

SQL 쿼리 : 동일한 값과 열 값 B를 가진 열 A가 존재하지 않는 행 가져 오기

분류에서Dev

여러 테이블에서 동일한 이름의 열 가져 오기

분류에서Dev

ListView의 동일한 행에서 여러 열의 값 가져 오기

분류에서Dev

Excel에서 주어진 헤더 이름 열의 마지막 값을 가져옵니다.

분류에서Dev

테이블의 동일한 열에서 여러 값 가져 오기

분류에서Dev

Pandas-동일한 데이터 프레임의 다른 행에서 값을 가져 오는 새 열 만들기

분류에서Dev

그룹화 된 행 내의 동일한 열에서 특정 값 가져 오기

분류에서Dev

테이블 행 내에서 동일한 클래스를 가진 각 텍스트 상자의 값 가져 오기

분류에서Dev

T-SQL을 사용하여 주어진 테이블 및 열에 대한 인덱스 이름 가져 오기

분류에서Dev

C ++에서 배열의 동일한 값 수 가져 오기

분류에서Dev

EXISTS를 사용하여 주어진 열에서 최대 값을 가진 행 가져 오기

분류에서Dev

awk : 주어진 행과 열의 문자가 첫 번째 행의 동일한 주어진 열에있는 문자와 일치하지 않는 경우 교체

분류에서Dev

이벤트 이름이 주어진 이름과 동일한 달력에서 첫 번째 ArrayList 이벤트를 가져 오는 방법은 무엇입니까?

분류에서Dev

주어진 ID로 자식 배열에서 값 가져 오기

분류에서Dev

주어진 배열에서 값 가져 오기

분류에서Dev

각 열에 대한 조건과 함께 동일한 열 값을 가진 모든 행의 합계를 가져 오는 쿼리

분류에서Dev

C #으로 dataTable의 다른 열과 동일한 이름 인 두 번째 열의 값을 가져 오는 방법

분류에서Dev

어색한 배열의 다른 수준에서 공통 이름을 가진 모든 속성 가져 오기

분류에서Dev

주어진 값과 일치하기 위해 배열 내에서 값의 가장 큰 부분 결정

분류에서Dev

주어진 열의 공통 값을 기반으로 R에서 동일한 data.frame의 여러 행 집계

분류에서Dev

주어진 열의 공통 값을 기반으로 R에서 동일한 data.frame의 여러 행 집계

Related 관련 기사

  1. 1

    팬더의 주어진 셀 값에서 행 가져 오기

  2. 2

    Pandas의 열에서 동일한 값을 가진 행 가져 오기

  3. 3

    두 열의 값이 동일한 두 개의 주어진 날짜 사이에서 팬더 데이터 프레임을 선택하십시오.

  4. 4

    Excel에서 특정 행과 일치하는 열의 열 이름 가져 오기

  5. 5

    어떻게 갱신 팬더 열 셀 값에 대한 행 수준에있는 다른 열 이름을 가진 일부 요소의 유사성을 기반으로

  6. 6

    다중 값 특정 열이있는 여러 행의 동일한 값에서 하나의 행 가져 오기

  7. 7

    하나의 열에 동일한 열 이름을 가진 레코드 범위 내의 값이있는 레코드 가져 오기

  8. 8

    동일한 테이블의 행에서 값 가져 오기

  9. 9

    SQL 쿼리 : 동일한 값과 열 값 B를 가진 열 A가 존재하지 않는 행 가져 오기

  10. 10

    여러 테이블에서 동일한 이름의 열 가져 오기

  11. 11

    ListView의 동일한 행에서 여러 열의 값 가져 오기

  12. 12

    Excel에서 주어진 헤더 이름 열의 마지막 값을 가져옵니다.

  13. 13

    테이블의 동일한 열에서 여러 값 가져 오기

  14. 14

    Pandas-동일한 데이터 프레임의 다른 행에서 값을 가져 오는 새 열 만들기

  15. 15

    그룹화 된 행 내의 동일한 열에서 특정 값 가져 오기

  16. 16

    테이블 행 내에서 동일한 클래스를 가진 각 텍스트 상자의 값 가져 오기

  17. 17

    T-SQL을 사용하여 주어진 테이블 및 열에 대한 인덱스 이름 가져 오기

  18. 18

    C ++에서 배열의 동일한 값 수 가져 오기

  19. 19

    EXISTS를 사용하여 주어진 열에서 최대 값을 가진 행 가져 오기

  20. 20

    awk : 주어진 행과 열의 문자가 첫 번째 행의 동일한 주어진 열에있는 문자와 일치하지 않는 경우 교체

  21. 21

    이벤트 이름이 주어진 이름과 동일한 달력에서 첫 번째 ArrayList 이벤트를 가져 오는 방법은 무엇입니까?

  22. 22

    주어진 ID로 자식 배열에서 값 가져 오기

  23. 23

    주어진 배열에서 값 가져 오기

  24. 24

    각 열에 대한 조건과 함께 동일한 열 값을 가진 모든 행의 합계를 가져 오는 쿼리

  25. 25

    C #으로 dataTable의 다른 열과 동일한 이름 인 두 번째 열의 값을 가져 오는 방법

  26. 26

    어색한 배열의 다른 수준에서 공통 이름을 가진 모든 속성 가져 오기

  27. 27

    주어진 값과 일치하기 위해 배열 내에서 값의 가장 큰 부분 결정

  28. 28

    주어진 열의 공통 값을 기반으로 R에서 동일한 data.frame의 여러 행 집계

  29. 29

    주어진 열의 공통 값을 기반으로 R에서 동일한 data.frame의 여러 행 집계

뜨겁다태그

보관