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에서 float를 정수로 변환하는 방법
  • 관련 문장 - Pandas Row Index

  • Pandas Dataframe 의 열에서 NaN 발생 횟수를 계산하는 방법
  • 관련 문장 - Pandas Column

  • Pandas DataFrame에서 열 값을 기준으로 행을 삭제하는 방법