일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- pandas로 그래프
- 머신러닝
- axes-level
- Seaborn 튜토리얼
- matplotlib.pyplot
- AI SCHOOL
- read_html
- 상관계수분석
- figure-level
- 파이썬 그래프
- 핸즈온머신러닝
- seaborn
- 파이썬데이터타입
- 멋사AI스쿨
- 지하철적자원인
- 통계그래픽
- 미드프로젝트
- ML
- RandomForest
- 배열 회전시키기
- 멋쟁이사자처럼
- AISCHOO8기
- 노인무임승차
- fromkeys
- 시각화
- AISCHOOL8기
- 구글colab
- ML기초
- 중복된 문자제거
- 배열의 유사도
- Today
- Total
코린이 성장일기
[python] Pandas - loc, iloc, map, applymap, apply 본문
요즘 판다스를 이용해서 데이터를 수집하고 전처리하고 분석기초 단계를 밟고 있다.
그 중에서 요즘 종종 쓰고 있는 데이터 선택에 용이한 loc, iloc에 대해서,
데이터 전처리에 유용한 map, applymap, apply에 대해서 간략히 공부한 내용을 적어보고자 한다.
아직 DataFrame이라는 개념이 익숙하지 않았는지, 헷갈리는 부분이었기에 골라봤다.
Pandas.
이게 얼마나 편리한 도구인지 새삼 다시 느꼈다. 잘 활용하고 싶다.
| loc[ ], iloc[ ]
loc와 iloc는 데이터프레임에서 행이나 열을 선택할 때 사용됩니다. 이 속성은 DataFrame에서의 선택, 수정을 편리하게 합니다.
주요한 차이는 어떻게 행이나 열을 가져오냐는 것인데, 즉, 행과 열을 선택하는 방법 차이입니다.
loc 는 라벨이나 이름(Label/Name)으로 가져오고, 레이블이 없으면 키 오류가 발생합니다.
iloc 는 정수 인덱스 위치(Index Position)로 가져오기 때문에, 위치가 없으면 인덱스 오류가 발생합니다.
iloc의 i는 int의 i라고 볼 수도 있겠습니다.
🧑💻 사용법
loc와 iloc의 사용법은 동일하다. 넣는 내용만 주의하여 사용하면 된다!
df.loc[ 선택할 행(Names/Labels), 선택할 열(Names/Labels) ]
df.iloc [ 선택할 행(indexing position), 선택할 열(indexing position) ]
데이터프레임을 하나 만들고 선택하는 연습을 해보자.
1) 단일 행이나 열 선택 | 2) 여러 행이나 열 선택 |
![]() |
![]() |
3) 두 행 또는 열 사이 선택 | 4) 조건을 사용해서 선택 |
![]() |
![]() |
👀 사용의 차이를 잘 보여주는 예
| map, apply, applymap 메소드
map, apply, applymap은 데이터프레임에 있는 내용을 매핑하여 치환하는 메소드이다.
For문을 써서 하나하나 바꿔줄 필요 없이 데이터프레임에 내용을 한 방에 치환할 수 있는 빠르고 편리한 녀석이다.
이들의 주요한 차이는 어디에 적용되느냐 인데, 아래 표와 같이 적용할 수 있다.
🧑💻 사용법
먼저, map()을 살펴보자. 이 메서드는 Series에서만 사용할 수 있다. 즉, 특정 열에 대한 작업을 수행할 수 있다.
map()은 해당 dict/series의 key를 기반으로 그 요소를 매핑한다. 누락된 값은 출력에 NaN으로 기록된다.
Series.map(arg, na_action=None)
arg - 함수나 딕셔너리, 시리즈를 보낸다
na_action - 누락된 값에 함수를 적용하지 않으려면 'ignore' 사용 (default=None)
다음으로 DataFrame에 사용할 수 있는 apply, applymap을 살펴보자.
먼저 apply!
DataFrame.apply(func, axis=0, raw=False, result_type=None, args=(), **kwargs)
이 함수를 통해 여러 열에 함수를 적용할 수 있다.
apply는 lambda함수와 함께 사용한다고 하는데, lambda는 아직 배우지 않아 다음 기회로 넘기겠다...
마지막으로 applymap : DataFrame에만 사용 가능하다
DataFrame.applymap(func, na_action=None, **kwargs)
apply와 비슷한데 접근하는 개체가 개별적이라고 한다. 각 원소에 lambda를 적용하는 경우, lambda에 if와 같은 조건을 넣을 수 있는데 apply에서는 행이나 열 전체가 움직이게 설계된다고 한다. applymap은 각 원소에 설계가 되어 apply로 요청을 하면 오류가 날 경우 applymap을 사용하면 좋다고 한다. 이건 더 배우면 보충해야겠다.
우선, 오늘은 map에 대해서, 그리고 apply, applymap과 사용의 차이에 대해서만 기억해두려고 한다.
'programming > 파이썬' 카테고리의 다른 글
[python]자료형 - List (0) | 2022.12.23 |
---|---|
[python]자료형- 숫자형, 문자열 (0) | 2022.12.23 |