-
파이썬 판다스(Pandas) 자주 쓰는 함수, 기능 연습데이터 분석 공부/파이썬 데이터 분석 2024. 4. 11. 14:03728x90
오늘은 지난 포스팅에서 크롤링 해 온 KBO 선수들의 선수 정보를 데이터프레임화하여,
Pandas 에서 자주 쓰는 함수와 기능을 연습해보겠습니다.
loc나 iloc를 통해 원하는 정보값을 가져올 수 있는데요.
':' 를 통해 영역을 지정할 수도 있습니다.
set_index 라는 함수는 데이터프레임의 특정 열을 인덱스로 설정하는 메서드입니다. 데이터프레임의 행을 고유한 식별자로 사용하기 위해 주로 활용됩니다.
위 화면에서는 인덱스가 0, 1, 2, 3, ... 으로 숫자로 구성되어 있었지만,
set_index("선수명") 이라고 메서드를 쓰면 '선수명' 칼럼이 인덱스처럼 사용되게 되는 거죠.
다음으로는 데이터 내의 공백을 제거하는 방법입니다.
사용자 정의 함수를 적용할 수도 있지만, 한번 공백을 제거한 뒤에 다시 제거할 일이 없기 때문에 lambda 방식을 쓰면 좋겠죠.
여기에서 쓰인 apply 함수는 시리즈 또는 데이터프레임의 각 행 또는 열에 함수를 적용하는 메서드입니다. 이를 통해 데이터의 변환, 집계, 연산 등을 수행할 수 있습니다.
주요 매개변수:
- func: 적용할 함수입니다. 사용자 정의 함수나 내장 함수를 지정할 수 있습니다.
- axis: 함수를 적용할 방향을 지정합니다. 0이면 열 방향(기본값), 1이면 행 방향입니다.
apply 함수로 데이터프레임의 각 열에서 최대값을 계산하고, 각 행에서 합계를 계산한 예시입니다.
위의 kbo_df.선수명 코드에선 기존 열의 데이터를 바꿔줄 거기 때문에 동일한 컬럼을 사용했지만,
새로운 계산 값을 넣어줄 행 또는 열을 생성해 줄 수도 있어요.
# 각 열에 대해 최대값 계산 max_values = df.apply(max) print(max_values) # 각 행에 대해 합계 계산 row_sums = df.apply(sum, axis=1) print(row_sums)
mask 기법도 자주 쓰이는데요.
특정 조건을 만족하는지 여부를 확인하는 코드를 써서 mask 라는 변수에 담고,
이를 활용해 이 조건을 만족 or 불만족하는 데이터만 필터링 하는 기법입니다.
mask = kbo_df.연봉.str.find("달러") > -1
위 코드는 '연봉' 컬럼에 '달러' 라는 문자열이 있는지 여부를 확인하는 코드겠죠.
이를 통해 외국인 용병 선수만 필터링 할 수 있습니다.
이렇게 마스킹한 데이터를 따로 df화 하고 싶다면 .copy() 함수를 사용하면 됩니다.
tmp_df = kbo_df[mask].copy()
'데이터 분석 공부 > 파이썬 데이터 분석' 카테고리의 다른 글
판다스 데이터 전처리 : 주소, 시도명 통일 및 변환하기 (1) 2024.04.11 pandas 데이터 전처리 : 중복값 제거(duplicated), 행열 재구조화(melt) (0) 2024.04.11 스포츠 데이터 파이썬 크롤링 -Selenium, By.CSS_SELECTOR, pickle (1) 2024.04.06 판다스 pandas 기초개념 : iloc, loc 비교, 데이터 형식 (numpy, series, dataframe) (1) 2024.04.03 파이썬 크롤링 기초 ㅡ Selenium과 BeautifulSoup 차이 (0) 2024.04.03