일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JSP/Servlet
- 정보처리기사실기
- 순환신경망
- 혼공머신
- 컴퓨터비전
- 개발일기
- JSP
- 연습문제
- 중학1-1
- 파이썬
- SQL
- 자바 실습
- c언어
- 머신러닝
- 자바스크립트
- 정보처리기사필기
- 데이터베이스
- CSS
- html/css
- 컴퓨터구조
- rnn
- 디버깅
- 중학수학
- 자바스크립트심화
- 자바
- 오블완
- 데이터분석
- JDBC
- 딥러닝
- 상속
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
Pandas 1 - Pandas 라이브러리 소개 본문
난 뭐든 한번 해보면 계속하게 되는데 시작하기 전까지가 가장 어려운 것 같다. 오늘은 가능하면 집중해서 드려볼 생각이다.
이제 2주차 수업은 Pandas에 관한 내용이다. 조금 전에 아침을 먹으며 이론 강의 2개를 들어보았다. 데이터를 분석할 때 많이 사용하는 기능이었다. 그럼 바로 학습을 시작해 보자!
이론 1 - Pandas 라이브러리 소개
Pandas란 무엇인가?
데이터의 구조를 바꾸거나 이어 붙이는 등 엑셀의 파이썬 버전이라고 생각할 수 있다. 엑셀이 있는데 왜 굳이 코드를 짜며 pandas를 사용해야 할까?
몇십만 개, 몇 백만 개가 저장되어 있는 파일을 엑셀로 열면 일부 데이터가 손실되거나 로딩에 많은 시간이 걸린다. pandas 라이브러리를 사용하면 데이터 손실 없이 빠르게 처리할 수 있다.
pandas의 DataFrame
이 데이터는 서울대공원의 입장료 내역이 담긴 데이터이다. pandas 라이브러리를 통해 이 표 형태의 데이터를 DataFrame 형태로 저장할 수 있다.
예를 들어 성적 데이터를 살펴보면 각 학생들의 국어, 영어, 수학 성적이 저장되어 있다. 행에는 학생들의 점수가, 열에는 과목별 학생들의 점수가 저장되어 있다. 행과 열에 학생들의 이름과 과목이 저장되어 원하는 학생들의 과목 점수를 쉽게 확인할 수 있다.
Series와 Dataframe
이러한 데이터 프레임은 여러 개의 열이 합쳐져 구성된다. 각 열은 특정한 서로 다른 종류의 데이터를 나타내므로 데이터를 분석하는 과정에서 매우 중요하다. 이 열을 통해 데이터를 선택하거나 필터링하고 그룹화, 정렬 등 다양한 작업을 수행할 수 있다.
예시의 데이터 프레임은 Series 자료형으로 되어 있다. 인덱스는 숫자가 될 수도 사람 이름이 될 수도 있다. Series는 인덱스를 통해 value를 호출 가능한 dictionary와 비슷한 기능을 할 수 있다.
앞에는 학생들의 성적 데이터가 데이터프레임으로 저장되어 있었지만, 각 과목별 점수를 추출하면 그 점수가 저장되어 있는 시리즈가 된다. 이런 식으로 데이터의 열을 추출하여 수행하는 작업이 앞으로 많이 사용된다.
padas 라이브러리를 불러오는데 pd라는 별명으로 사용한다는 뜻이다. pandas에서 가져온다는 것을 표시하기 위해 앞에 pd.를 붙인다. pandas라고 하면 너무 길어지므로 별칭을 사용한다. 별명을 바꿀 수는 있지만 다른 사람과 같이 작업하기 위해서 pd를 사용하는 것이 좋다.
이론 2 - 데이터 살펴보기
데이터 파일
rea_csv 안에 있는 문자열은 불러올 데이터 파일의 위치를 의미한다. 이 파일을 불러와서 데이터 프레임 형태로 변환한다. 변환된 파일을 변수 df에 저장한다.
데이터 파일을 불러오는 과정이 데이터 분석의 시작이다. df는 데이터프레임을 의미한다.
head()는 데이터프레임의 상위 5개를, tail()는 하위 5개를 보여준다. 괄호 안에 숫자를 적으면 해당 개수만큼의 데이터를 볼 수 있다.
head()나 tail()로는 확인할 수 없는 데이터의 개수, 자료형 등을 한눈에 확인할 수 있다.
데이터 프레임에서 문자열을 넣으면 해당 이름을 시리즈로 추출할 수 있다. df["어른"]이라고 하면 어른의 값이 시리즈로 추출된다.
리스트를 활용하면 여러 개의 컬럼을 추출할 수 있다. 이때 대괄호는 2개 사용해야 한다.
이러한 부분은 특정 열을 사용할 때 자주 사용하므로 꼭 익혀두자.
value_count()는 범주형 데이터를 저장할 때 유용하게 사용된다.
실습 1 - 데이터 살펴보기
문제 설명
이렇게 파일이 구성이 되어 있고, 실습 파일을 살펴보면 다음과 같은 자료를 설명하고 있다.
문자열에 지정되어 있는 파일을 read_csv()를 통해 데이터프레임으로 불러와 df에 저장한다. 실행시키려면 shift + enter를 누른다.
직접 실습해 보기
1. 라이브러리와 데이터 불러오기
원본 파일에는 없던 번호가 생겼음을 볼 수 있다. 이건 실행이 되었다는 표시이다.
2. 파일 불러와서 변수 mm에 저장하기
지정할 때는 꼭 문자열 형식으로 한다.
계속 오류가 떠서 몇 번이나 삭제하고 다시 실행해 보았다. 근데 잘못 쓴 부분이 있음을 확인했다. ./라고 파일 경로가 되어 있어 이건줄 알았는데, 이건 html 수업에서도 들었듯이 상대경로를 표시하는 것 같다. 하지만 현재 경로에서 불러와야 하니 이걸 빼주고 문자열에 넣어준다.
이제 오류 없이 잘 실행이 되었다.
3. 데이터 살펴보기 : head(), tail()
헤드에 앞의 5개의 데이터를 불러왔다.
tail에도 뒤의 5개의 데이터를 불러왔다.
숫자를 지정하면 head나 tail의 해당 숫자의 데이터를 불러올 수 있다.
4. 데이터 정보 확인 : info()
어떤 컬럼들이 있는지 확인할 수 있다.
non-null은 값이 저장되어 있는 상태이다. 그러니까 1086개가 저장되어 있다는 말이다.
5. 컬럼 이름을 활용한 특정 컬럼 추출
청소년 형태의 열만 시리즈로 출력이 된다.
특정 컬럼을 불러올 때는 []를 사용한다.
6. 데이터 숫자 세기
이렇게 날씨 카운트를 셀 수도 있다.
7. 채점 및 제출
이렇게 모든 문제를 맞혔다. 처음으로 pandas를 사용하는 거라 많이 헤매고 몇 번이나 영상을 돌려보며 다시 시청하기를 반복했는지 모른다. 그래도 끝까지 다 마쳐서 정말 기쁘다!
학습을 마치고
판다스를 사용해 데이터를 분석하는 실습까지 모두 진행해 보았다. 정말 신기한 프로그램이었다. 이런 식으로 자신이 원하는 데이터를 추출하여 분석할 수 있었다. 처음 해보는 거라 많이 어려웠지만 계속하다 보면 익숙해질 것 같다.
오후 시간까지 가능하면 2주 차 수업과 3주 차도 어느 정도 학습해 볼 예정이다. 엘리스에 이런 프로그램까지 연동이 되어 바로 사용할 수 있어서 정말 좋았다. 앞으로의 pandas 공부도 더 재미있어질 것 같다.
'인공지능 > Numpy & Pandas' 카테고리의 다른 글
Pandas 3 - 데이터 변환 및 데이터 요약하기 (0) | 2024.07.31 |
---|---|
Pandas 2 - 데이터 변환하기 (0) | 2024.07.31 |
Numpy 6 - 집계함수 & 마스킹 연산 (0) | 2024.07.31 |
Numpy 5 - 브로드캐스팅 (0) | 2024.07.31 |
Numpy 4 - Numpy 연산 (0) | 2024.07.31 |