Study/Data Science 개인 공부
Do it! 데이터 분석을 위한 판다스 입문 3장
주원주
2023. 6. 23. 23:13
03 판다스 데이터프레임과 시리즈
03-1 나만의 데이터 만들기
- 시리즈를 생성할 때 문자열을 인덱스로 지정 가능 >> Series 메서드의 index 인자를 통해 인덱스로 사용하고자 하는 문자열 리스트 전달
- 데이터프레임을 만들기 위해서는 딕셔너리를 DataFrame 클래스에 전달해야 함
- 데이터프레임에서 인덱스를 따로 지정하려면 index 인자에 리스트 전달
- column 인자로 데이터프레임의 열 순서 지정
- 딕셔너리를 전달했어도 columns 인자로 다시 열 이름 전달하면 열 순서는 columns 값을 따라감
- 순서가 보장된 딕셔너리를 전달하려면 OrderedDict 클래스 사용



03-2 시리즈 다루기 (기초)
- 데이터프레임에서 시리즈를 선택하려면 loc 속성에 인덱스 전달
- index 속성: 시리즈의 인덱스가 들어가있음
- values 속성: 시리즈의 데이터 저장
- keys 메서드: index 속성과 같은 역할
- mean, min, max, std와 같은 통계 메서드 >> 시리즈를 구성하는 데이터가 정수면 사용 가능
- 시리즈에서 자주 사용하는 메서드
| 시리즈 메서드 | 설명 |
| append | 2개 이상의 시리즈 연결 |
| describe | 요약 통계량 계산 |
| drop_duplicates | 중복값이 없는 시리즈 반환 |
| equals | 시리즈에 해당 값을 가진 요소가 있는지 확인 |
| get_values | 시리즈 값 구하기(values 속성과 동일) |
| isin | 시리즈에 포함된 값이 있는지 확인 |
| min | 최솟값 반환 |
| max | 최댓값 반환 |
| mean | 산술 평균 반환 |
| median | 중간값 반환 |
| replace | 특정 값을 가진 시리즈 값을 교체 |
| sample | 시리즈에서 임의의 값을 반환 |
| sort_values | 값을 정렬 |
| to_frame | 시리즈를 데이터프레임으로 변환 |



03-3 시리즈 다루기 (응용)
- 불린 추출: 특정 조건을 만족하는 값만 추출 가능
- 리스트 형태로 참이나 거짓을 담아 시리즈에 전달하면 참인 인덱스의 데이터만 추출
- 브로드캐스팅(Broadcasting): 시리즈나 데이터프레임에 있는 모든 데이터에 대해 한 번에 연산하는 것
- ex) ages > ages.mean()
- 벡터: 시리즈처럼 여러 개의 값을 가진 데이터 (시리즈는 벡터의 한 종류)
- 스칼라: 단순 크기를 나타내는 데이터
- 벡터와 벡터의 연산은 일치하는 인덱스의 값끼리 수행





03-4 데이터프레임 다루기
- 데이터프레임도 시리즈와 마찬가지로 불린 추출과 브로드캐스팅 가능
- bool 벡터: 참, 거짓을 담은 리스트
- bool 벡터의 길이가 데이터프레임의 행 길이보다 짧으면 bool 벡터의 길이만큼만 연산
- 스칼라 연산: 모든 요소에 스칼라 적용하여 연산

03-5 시리즈와 데이터프레임의 데이터 처리하기





03-6 데이터 저장하고 불러오기
- 피클: 데이터를 바이너리 형태로 직렬화한 오브젝트를 저장하는 방법
- 스프레드시트보다 더 작은 용량으로 데이터 저장 가능
- to_pickle 메서드 사용 (저장 경로를 문자열로 전달)
- 반드시 read_pickle 메서드로 읽어 들여야 함
- CSV 파일: 데이터를 쉼표로 구분하여 저장
- TSV 파일: 데이터를 탭으로 구분하여 저장
- 시리즈와 달리 데이터프레임은 엑셀 파일로 저장 가능
- xls 파일로 저장 >> xlwt 라이브러리 필요
- xlsx 파일로 저장 >> openpyxl 라이브러리 필요
- 시리즈는 to_frame 메서드로 데이터프레임으로 변환한 후 엑셀 파일로 저장


출처: Do it! 데이터 분석을 위한 판다스 입문 (Chen, Daniel Y. 지음)