각 행의 값을 기반으로 열 머리글 가져 오기

MathTinker

다음과 같은 팬더 데이터 프레임이 있습니다 (그림).

import datetime
todays_date = datetime.datetime.now().date()   
index = pd.date_range(todays_date-datetime.timedelta(10), periods=2, freq='D')
columnheader=['US', 'Canada', 'UK', 'Japan']
data=np.array([[3,4,2,1],[1,4,3,2]])
df = pd.DataFrame(data, index=index, columns=columnheader)

결과 :

            US  Canada  UK  Japan
2015-07-26   3       4   2      1
2015-07-27   1       4   3      2

각 행에 대해 값이 1과 2 인 열 머리글을 찾아야합니다.

그래서 나는 얻어야한다

['Japan', 'UK']
['US', 'Japan']
EdChum

다음을 수행 할 수 있습니다. 각 행에서 1,2사용 중인 멤버십을 테스트 isin하고 부울 계열을 생성하는 경우 apply다시 호출하여 열을 인덱싱하는 데 사용할 수 있습니다. 다음과 같은 경우 차원이 정렬되지 않으므로이를 목록으로 변환합니다. 당신은 이것을하지 않는다 :

In [191]:
df.apply(lambda x: x.isin([1,2]), axis=1).apply(lambda x: list(df.columns[x]), axis=1)

Out[191]:
2015-07-26    [UK, Japan]
2015-07-27    [US, Japan]
Freq: D, dtype: object

내부에서 출력 apply:

In [192]:
df.apply(lambda x: x.isin([1,2]), axis=1)

Out[192]:
               US Canada     UK Japan
2015-07-26  False  False   True  True
2015-07-27   True  False  False  True

편집하다

순서를 유지하려면 각 값을 테스트하고이를 시리즈로 반환하는 함수를 정의 할 수 있습니다.

In [209]:
filter_vals=[1,2]
def func(x):
    l=[]
    for val in filter_vals:
        for col in df:
            if x[col] == val:
                l.append(col)
​
    return pd.Series(l)
df.apply(func, axis=1)

Out[209]:
                0      1
2015-07-26  Japan     UK
2015-07-27     US  Japan

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

열 머리글을 기반으로 df 행 값 채우기

분류에서Dev

테이블의 값을 기반으로 열 머리글 반환

분류에서Dev

여러 열을 기반으로 각 그룹에서 최대 값으로 행 가져 오기

분류에서Dev

두 열의 값을 기반으로 열 가져 오기 SQL

분류에서Dev

행 값 및 열 머리글을 기준으로 값 합계

분류에서Dev

numpy 배열의 열 값을 기반으로 행 번호 가져 오기

분류에서Dev

열을 기반으로 행을 가져 오는 SQL 쿼리

분류에서Dev

MySQL 쿼리-다른 테이블의 열 이름을 기반으로 행 값 가져 오기

분류에서Dev

R : R의 행 값을 기반으로 열 이름 가져 오기

분류에서Dev

값을 기반으로 열을 가져 오는 SQL 쿼리

분류에서Dev

문자열 목록을 기준으로 열 머리글의 목록을 가져옵니다

분류에서Dev

열에서 가장 낮은 값 (각 행)을 검색하고 머리글과 값을 반환합니다.

분류에서Dev

열에서 가장 낮은 값 (각 행)을 검색하고 머리글과 값을 반환합니다.

분류에서Dev

각 행의 결 측값을 기반으로 열 선택

분류에서Dev

열 머리글을 일치시키고 for 루프를 사용하여 아래 행 가져 오기

분류에서Dev

각 열의 단일 값을 단일 열로 가져 오기위한 SQL Server 쿼리

분류에서Dev

고유 한 열을 기반으로 단일 행 가져 오기

분류에서Dev

SQL Server에서 행 값을 열 머리글로 바꾸기

분류에서Dev

PHP의 값을 기반으로 두 배열의 차이 가져 오기

분류에서Dev

행 값을 열로 가져 오기

분류에서Dev

SQL 쿼리 : 각 행의 조정 된 값 가져 오기

분류에서Dev

SQL 쿼리 : 각 행의 조정 된 값 가져 오기

분류에서Dev

특정 행을 기반으로 pandas의 평균 열 가져 오기

분류에서Dev

Flutter의 배열 목록 값을 기반으로 Firestore 컬렉션 가져 오기

분류에서Dev

Pandas : groupby 및 일부 열 값을 기반으로 꼬리 가져 오기

분류에서Dev

첫 번째 열 머리글을 특정 너비의 각 행으로 이동

분류에서Dev

두 열의 값을 기반으로 모든 중복을 가져 오는 MySQL 쿼리

분류에서Dev

열 머리글과 다른 셀 값 일치를 기반으로 행의 셀 서식 지정

분류에서Dev

R의 두 인덱스를 기반으로 각 행의 data.frame에서 열 범위 가져 오기

Related 관련 기사

  1. 1

    열 머리글을 기반으로 df 행 값 채우기

  2. 2

    테이블의 값을 기반으로 열 머리글 반환

  3. 3

    여러 열을 기반으로 각 그룹에서 최대 값으로 행 가져 오기

  4. 4

    두 열의 값을 기반으로 열 가져 오기 SQL

  5. 5

    행 값 및 열 머리글을 기준으로 값 합계

  6. 6

    numpy 배열의 열 값을 기반으로 행 번호 가져 오기

  7. 7

    열을 기반으로 행을 가져 오는 SQL 쿼리

  8. 8

    MySQL 쿼리-다른 테이블의 열 이름을 기반으로 행 값 가져 오기

  9. 9

    R : R의 행 값을 기반으로 열 이름 가져 오기

  10. 10

    값을 기반으로 열을 가져 오는 SQL 쿼리

  11. 11

    문자열 목록을 기준으로 열 머리글의 목록을 가져옵니다

  12. 12

    열에서 가장 낮은 값 (각 행)을 검색하고 머리글과 값을 반환합니다.

  13. 13

    열에서 가장 낮은 값 (각 행)을 검색하고 머리글과 값을 반환합니다.

  14. 14

    각 행의 결 측값을 기반으로 열 선택

  15. 15

    열 머리글을 일치시키고 for 루프를 사용하여 아래 행 가져 오기

  16. 16

    각 열의 단일 값을 단일 열로 가져 오기위한 SQL Server 쿼리

  17. 17

    고유 한 열을 기반으로 단일 행 가져 오기

  18. 18

    SQL Server에서 행 값을 열 머리글로 바꾸기

  19. 19

    PHP의 값을 기반으로 두 배열의 차이 가져 오기

  20. 20

    행 값을 열로 가져 오기

  21. 21

    SQL 쿼리 : 각 행의 조정 된 값 가져 오기

  22. 22

    SQL 쿼리 : 각 행의 조정 된 값 가져 오기

  23. 23

    특정 행을 기반으로 pandas의 평균 열 가져 오기

  24. 24

    Flutter의 배열 목록 값을 기반으로 Firestore 컬렉션 가져 오기

  25. 25

    Pandas : groupby 및 일부 열 값을 기반으로 꼬리 가져 오기

  26. 26

    첫 번째 열 머리글을 특정 너비의 각 행으로 이동

  27. 27

    두 열의 값을 기반으로 모든 중복을 가져 오는 MySQL 쿼리

  28. 28

    열 머리글과 다른 셀 값 일치를 기반으로 행의 셀 서식 지정

  29. 29

    R의 두 인덱스를 기반으로 각 행의 data.frame에서 열 범위 가져 오기

뜨겁다태그

보관