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

Python - numpy로 Pandas DataFrame 필터링

<시간/>

numpy where() 메서드를 사용하여 Pandas DataFrame을 필터링할 수 있습니다. where() 메소드의 조건을 언급하십시오. 먼저 필요한 라이브러리를 해당 별칭과 함께 가져오도록 하겠습니다.

pdimport numpy로 np로 팬더 가져오기

이제 제품 레코드가 있는 Pandas DataFrame을 생성합니다.

dataFrame =pd.DataFrame({"제품":["SmartTV", "ChromeCast", "스피커", "이어폰"],"Opening_Stock":[300, 700, 1200, 1500],"Closing_Stock":[200, 500, 1000, 900]})

numpy where()를 사용하여 2개의 조건으로 DataFrame 필터링

resValues1 =np.where((dataFrame['Opening_Stock']>=700) &(dataFrame['Closing_Stock']<1000))print"\n필터링된 DataFrame 값 =\n",dataFrame.loc[resValues1] 

numpy where()를 다시 사용하여 3가지 조건으로 DataFrame을 필터링해 보겠습니다.

resValues2 =np.where((dataFrame['Opening_Stock']>=500) &(dataFrame['Closing_Stock']<1000) &(dataFrame['제품'].str.startswith('C'))) 

예시

다음은 전체 코드입니다.

판다를 pdimport numpy로 npdataFrame =pd.DataFrame({"제품":["SmartTV", "ChromeCast", "스피커", "이어폰"],"Opening_Stock":[300, 700, 1200, 1500]으로 가져오기 ],"Closing_Stock":[200, 500, 1000, 900]})print"DataFrame...\n",dataFrame# numpy where()를 사용하여 2개의 ConditionsresValues1 =np.where((dataFrame['Opening_Stock ']>=700) &(dataFrame['Closing_Stock']<1000))print"\nFiltered DataFrame Value =\n",dataFrame.loc[resValues1]# numpy where()를 사용하여 3가지 조건으로 DataFrame을 필터링합니다.resValues2 =np. where((dataFrame['Opening_Stock']>=500) &(dataFrame['Closing_Stock']<1000) &(dataFrame['Product'].str.startswith('C')))print"\n필터링된 DataFrame 값 =\n",dataFrame.loc[resValues2]

출력

그러면 다음과 같은 출력이 생성됩니다.

DataFrame... Closing_Stock Opening_Stock Product0 200 300 SmartTV1 500 700 ChromeCast2 1000 1200 Speaker3 900 1500 EarphoneFiltered DataFrame 값 =Closing_Stock Opening_Stock Product1 500 700 ChromeCast150Stock 값 =Closing_Stock 0Stock 제품1 500 700 ChromeCast150Stock 값