이번엔 데이터 프레임에 조건을 추가하여 원하는 데이터를 출력하도록 하는 방법을 알아본다.
df = pd.DataFrame({'Employee ID':[111, 222, 333, 444],
'Employee Name':['Chanel', 'Steve', 'Mitch', 'Bird'],
'Salary [$/h]':[35, 29, 38, 20],
'Years of Experience':[3, 4 ,9, 1]})
df
위에 데이터에서 조건을 만족하는 사람의 데이터를 가져오려면 이 데이터가 조건에 만족하면
Ture인지 False인지 출력해주어야한다.
# 경력이 3년 이상인 사람의 데이터만(행을) 가져오시오
#Ture인지 False인지를 판별해준다.
df['Years of Experience']>=3
>>> 0 True
1 True
2 True
3 False
Name: Years of Experience, dtype: bool
조건에 맞다면 이 데이터만 가져오게 loc함수를 사용하여 가져온다.
# 조건에 맞는 행을 가져오려면 loc함수로 콤마 왼쪽에 조건을 써준다.
df.loc[ df['Years of Experience']>=3 , ]
조건에 맞는 찾고 그 데이터의 칼럼을 2개만 보고 싶다면 다음과 같이 써준다.
# 경력이 3년이상인 사람의 이름과 시급정보를 가져오시오.
df.loc[ df['Years of Experience']>=3 , ['Employee Name','Salary [$/h]'] ]
조건 연산자가 2개라면 &이나 |를 사용하여 조건을 연결하여 써준다.
# 경력이 4년이상 8년 이하인 사람의 데이터를 가져오시오
df.loc[ (df['Years of Experience']>=4) & (df['Years of Experience']<=8) , ['Employee Name','Salary [$/h]','Years of Experience'] ]
데이터 중 비교하여 가장 큰 또는 가장 작은 데이터를 나타내어 그 데이터를 표시하고 싶다면
데이터 값을 구하여 그 데이터를 조건 연산자로 써준다.
#시급이 가장 높은 사람의 데이터를 가져오시오.
#우선 시급 가장 높은 사람의 연봉데이터를 출력한다.
df['Salary [$/h]'].max()
>>> 38
#그 데이터를 대입하여 True 값을 찾는다.
df['Salary [$/h]'] == df['Salary [$/h]'].max()
>>> 0 False
1 False
2 True
3 False
Name: Salary [$/h], dtype: bool
#그 데이터를 조건문에 써서 데이터를 출력한다.
df.loc[ df['Salary [$/h]'] == df['Salary [$/h]'].max() , ]
반응형
'파이썬 함수' 카테고리의 다른 글
pandas 라이브러리(7) 데이터 정렬 SORTING AND ORDERING (0) | 2022.11.25 |
---|---|
pandas 라이브러리(6) 함수 적용 APPLYING FUNCTIONS (0) | 2022.11.25 |
pandas 라이브러리(4) 카테고리컬 데이터( Categorical Data) (0) | 2022.11.24 |
pandas 라이브러리(3) NaN값 다루기 (0) | 2022.11.24 |
pandas 라이브러리(2) 데이터프레임 컬럼 추가하기, 데이터프레임 불러오기 (0) | 2022.11.24 |