Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 부울 인덱싱

<시간/>

True &False 및 1&0과 같은 부울 값은 panda 데이터 프레임의 인덱스로 사용할 수 있습니다. 필요한 레코드를 필터링하는 데 도움이 될 수 있습니다. 아래 예에서는 부울 인덱싱 작업을 수행하는 데 사용할 수 있는 다양한 방법을 볼 수 있습니다.

부울 인덱스 생성

게임의 데이터를 기술하는 데이터 프레임을 생각해 봅시다. 다른 날짜에 득점한 다양한 점수는 사전에 언급되어 있습니다. 그런 다음 True 및 False를 인덱싱 값으로 사용하여 데이터 프레임에 인덱스를 만들 수 있습니다. 그런 다음 최종 데이터 프레임을 인쇄할 수 있습니다.

예시

import pandas as pd
# dictionary
game = {'Day':["Monday","Tuesday","Wednesday","Thursday","Friday"], 'points':[31,24,16,11,22]}
df = pd.DataFrame(game,index=[True,False,True,False,True])
print(df)

위의 코드를 실행하면 다음과 같은 결과가 나옵니다.

출력

               Day       points
True        Monday           31
False      Tuesday           24
True     Wednesday           16
False     Thursday           11
True        Friday           22

.loc[] 사용

이 함수는 특정 부울 값이 있는 레코드를 필터링하는 데 사용할 수 있습니다. 아래 예에서는 Boolean 값이 True인 레코드만 가져오는 것을 볼 수 있습니다.

예시

import pandas as pd
# dictionary
game = {'Day':["Monday","Tuesday","Wednesday","Thursday","Friday"], 'points':[31,24,16,11,22]}
df = pd.DataFrame(game,index=[True,False,True,False,True])
#print(df)
print(df.loc[True])

위의 코드를 실행하면 다음과 같은 결과가 나옵니다.

출력

              Day           points
True       Monday       31
True    Wednesday       16
True       Friday       22

.ix[] 사용

이 방법에서는 정수를 부울 값으로도 사용합니다. 따라서 데이터 프레임의 True 및 False 값을 1과 0으로 변경합니다. 그런 다음 이를 사용하여 레코드를 필터링합니다.

예시

import pandas as pd
# dictionary
game = {'Day':["Monday","Tuesday","Wednesday","Thursday","Friday"], 'points':[31,24,16,11,22]}
df = pd.DataFrame(game,index=[1,1,0,0,1])
#print(df)
print(df.ix[0])

위의 코드를 실행하면 다음과 같은 결과가 나타납니다.

출력

        Day points
0 Wednesday     16
0 T hursday     11