Pandas에서 특정 열이 주어진 조건을 만족하는 모든 행의 색인을 얻는 방법

  1. 특정 열이 주어진 조건을 만족하는 모든 행의 색인을 가져 오는 간단한 색인 작업
  2. 특정 열이 주어진 조건을 만족하는 모든 행의 인덱스를 가져 오는np.where()메소드
  3. 특정 열이 주어진 조건을 만족하는 모든 행의 인덱스를 가져 오는pandas.DataFrame.query()

간단한 인덱싱 작업을 사용하여 특정 열이 Pandas의 주어진 조건을 만족하는 모든 행의 인덱스를 얻을 수 있습니다. NumPy 패키지의where()메소드와 DataFrame 객체의query()메소드를 사용하여 인덱스를 찾을 수도 있습니다.

특정 열이 주어진 조건을 만족하는 모든 행의 색인을 가져 오는 간단한 색인 작업

간단한 인덱싱 작업을 사용하면 특정 열이 주어진 조건을 만족하는 행의 인덱스를 가져 오는 작업을 수행 할 수 있습니다.

import pandas as pd
import numpy as np

dates=['April-10', 'April-11', 'April-12', 'April-13','April-14','April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]

df = pd.DataFrame({'Date':dates ,
                   'Sales':sales ,
                   'Price': prices})

reqd_Index = df[df['Sales']>=300].index.tolist()
print(reqd_Index)

출력:

[1, 2, 4, 5]

여기서 df['Sales']>=300Sales열의 값이 300 이상인 경우 요소가 True 인 일련의 부울 값을 제공합니다.

df[df['Sales']>=300].index를 사용하여Sales 값이 300보다 크거나 같은 행의 인덱스를 검색 할 수 있습니다.

마지막으로tolist()메소드는 모든 인덱스를리스트로 변환합니다.

특정 열이 주어진 조건을 만족하는 모든 행의 인덱스를 가져 오는np.where()메소드

np.where()는 조건을 입력으로 받아 주어진 조건을 만족하는 요소의 인덱스를 반환합니다. 따라서 우리는np.where()를 사용하여 특정 열이 주어진 조건을 만족시키는 모든 행의 인덱스를 얻을 수 있습니다.

import pandas as pd
import numpy as np

dates=['April-10', 'April-11', 'April-12', 'April-13','April-14','April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]

df = pd.DataFrame({'Date':dates ,
                   'Sales':sales ,
                   'Price': prices})

reqd_Index = list(np.where(df["Sales"] >= 300))
print(reqd_Index)

출력:

[array([1, 2, 4, 5])]

Sales열의 값이 300보다 크거나 같은 모든 행의 인덱스를 출력합니다.

특정 열이 주어진 조건을 만족하는 모든 행의 인덱스를 가져 오는pandas.DataFrame.query()

pandas.DataFrame.query()는 제공된 쿼리 표현식으로 인해 DataFrame을 반환합니다. 이제 DataFrame의index 속성을 사용하여 특정 열이 주어진 조건을 만족하는 모든 행의 인덱스를 반환 할 수 있습니다.

import pandas as pd
import numpy as np

dates=['April-10', 'April-11', 'April-12', 'April-13','April-14','April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]

df = pd.DataFrame({'Date':dates ,
                   'Sales':sales ,
                   'Price': prices})

reqd_index = df.query('Sales == 300').index.tolist()
print(reqd_index)

출력:

[1, 4, 5]

특정 열이 주어진 조건Sales == 300을 만족하는 모든 행의 인덱스 목록을 반환합니다.

관련 문장 - Pandas DataFrame

  • Pandas DataFrame 열을 목록으로 변환
  • Pandas DataFrame 열 헤더를 목록으로 가져 오는 방법
  • 관련 문장 - Pandas DataFrame Row

  • Pandas DataFrame 열을 삭제하는 방법
  • Pandas DataFrame의 셀에서 값을 얻는 방법
  • 관련 문장 - Pandas DataFrame Column

  • Pandas DataFrame 열의 순서를 변경하는 방법
  • Pandas에서 DataFrame의 행을 반복하는 방법