파이썬 함수

pandas 라이브러리(5) PANDAS OPERATIONS

개발연습자1 2022. 11. 24. 17:43

이번엔 데이터 프레임에 조건을 추가하여 원하는 데이터를 출력하도록 하는 방법을 알아본다.

 

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() ,   ]

 

반응형