# 공부 2일차 (3장)
- 데이터프레임 다루기
-시리즈 다루기
- 데이터프레임, 시리즈의 데이터 처리
- 데이터 저장 및 불러오기
생소하게만 느껴졌던 데이터프레임, 시리즈 다루기.
이제는 완벽히 익혀두자.! 더 이상의 기초 공부는 없다는 생각으로 파이팅~
# 원하는 index, columns 지정
# columns 지정에 의해 Age와 Died의 순서가 바뀐 것을 확인
scientists = pd.DataFrame(
data = { 'Occupation' : ['Chemist', 'Statistician'], 'Born' : ['1920-07-25', '1876-06-13'], 'Died' : ['1958-04-16', '1937-10-16'], 'Age' : [37, 61]},
index = ['Rosaline Franklin', 'William Gosset'],
columns = ['Occupation', 'Born', 'Age', 'Died'] )
print(scientists)
# OrderedDict
# 딕셔너리의 키, 값으로 이루어진 한 쌍의 데이터들의 순서를 유지하기 위한 방법.
from collections import OrderedDict
scientists = pd.DataFrame(OrderedDict([
('Name', ['Rosaline Franklin', 'William Gosset']),
('Occupation', ['Chemist', 'Statistician']),
('Born', ['1920-07-25', '1876-06-13']),
('Died', ['1958-04-16', '1937-10-16']),
('Age', [37, 61])]))
print(scientists)
# 시리즈 메서드 정리
- append : 2개 이상의 시리즈 연결
- describe : 요약 통계량 계산
- drop_duplicates : 중복값이 없는 시리즈 반환
- equals : 시리즈에 해당 값을 가진 요소가 있는지 확인
- get_values : 시리즈 값 구하기(values 속성과 동일)
- isin : 시리즈에 포함된 값이 있는지 확인
- min : 최솟값 반환
- max : 최댓값 반환
- mean : 산술 평균 반환
- median : 중간값 반환
- replace : 특정 값을 가진 시리즈 값을 교체
- sample : 시리즈에서 임의의 값을 반환
- sort_values : 값을 정렬
- to_frame : 시리즈를 데이터프레임으로 반환
# 예시)를 통해 평균 나이보다 나이가 많은 사람의 "데이터"를 추출하기 위한 방법
print(ages[ages > ages.mean( )])
# 데이터프레임에 있는 모든 데이터에 대한 bool값
print(ages > ages.mean( ))

- 위 처럼, 모든 데이터에 대해 한 번에 연산하는 것 : 브로드캐스팅
- 시리즈처럼 여러 개의 값을 가진 데이터 : 벡터
- 단순 크기를 나타내는 데이터 : 스칼라
ex) 벡터 더하기 연산, 곱하기 연산
print(ages + ages)
print(ages * ages)
ex) 벡터의 모든 값에 스칼라를 적용하여 브로드캐스팅한 결과
print(ages + 100)
print(ages * 2)
ex) 역순으로 데이터를 정렬해도 벡터와 벡터의 연산은 일치하는 인덱스의 값끼리 수행함 !
print(ages)

rev_ages = ages.sort_index(ascending=False)
print(rev_ages)

print(ages + rev_ages)

# import random
random.seed(42) -> 컴퓨터가 생성하는 난수의 기준값을 정하기 위해 사용
random.shuffle(scientists['Age'])
print(scientists['Age'])
# Age열 삭제하기 -> 데이터프레임의 drop 메서드 사용
scientists_dropped = scientists.drop(['Age'], axis=1)
print(scientists_dropped.columns)
# 피클
# 데이터를 바이너리 형태로 직렬화한 오브젝트를 저장하는 방법
# 장점 : 스프레드시트보다 더 작은 용량으로 데이터를 저장할 수 있어 매우 편리
# import xlwt, import openpyxl
xlwt, openpyxl 라이브러리 설치
ex )
names_df = names.to_frame()
import xlwt
names_df.to_excel('..경로/scientists_names_series_df.xls')
import openpyxl
names_df.to_excel('..경로/scientists_names_series_df.xlsx')
'Python > python_pandas 입문 [책]' 카테고리의 다른 글
| [python_pandas 입문] 공부 # 6일차 (0) | 2021.01.20 |
|---|---|
| [python_pandas 입문] 공부 # 5일차 (0) | 2021.01.18 |
| [python_pandas 입문] 공부 # 4일차 (0) | 2021.01.15 |
| [python_pandas 입문] 공부 # 3일차 (0) | 2021.01.10 |
| [python_pandas 입문] 공부 # 1일차 (0) | 2021.01.08 |
댓글