Pandas를 배우는 이유
- 데이터 분석의 80~90%가 데이터 수집과 정리
- 데이터 정리란 분석이 가능한 형태로 만드는 것
- 여러가지 유형의 데이터를 공통의 포맷으로 정리
- 데이터를 수집하고 정리하는데 최적화된 도구
Pandas의 자료구조
- 시리즈(Series) - 1차원의 데이터 구조, 데이터프레임의 열
- 데이터프레임(DataFrame) - 2차원의 데이터 구조, 표
파이썬을 판다스로 변환
1. 시리즈로 변환 pandas.Series
index와 value값이 일대응 대응
딕셔너리 → 시리즈
import pandas as pd
dic = {'a':1, 'b':2, 'c':3}
sr = pd.Series(dic)
# output
a 1
b 2
c 3
dtype: int64
딕셔너리의 키가 시리즈의 인덱스에 대응, value값은 시리즈의 데이터값으로 변환한다.
리스트 → 시리즈
import pandas as pd
list_data = ["빅", "데이터", "분석"]
sr = pd.Series(list_data)
sr
# output
0 빅
1 데이터
2 분석
dtype: object
별도의 인덱스를 정의하지 않으면 자동으로 인덱스가 지정된다.
- index 옵션 추가
list_data = ["빅", "데이터", "분석"]
sr = pd.Series(list_data, index=["하나", "둘", "셋"])
sr
#output
하나 빅
둘 데이터
셋 분석
dtype: object
- 데이터 추출
dict_data = {"이름": "가나다", "생년월일": 220628, "한국인":True, "안경":False}
sr = pd.Series(dict_data)
print(sr)
print(sr[0])
print(sr['이름'])
#output
이름 가나다
생년월일 220628
한국인 True
안경 False
dtype: object
가나다
가나다
print(sr.index)
print(sr.values)
#output
Index(['이름', '생년월일', '한국인', '안경'], dtype='object')
['가나다' 220628 True False]
2. 데이터프레임으로 변환 Pandas.DataFrame
여러 개의 시리즈들이 모여서 구성되고 데이터의 열은 시리즈 객체이다.
행 - row, 레코드
열 - column, 속성, 변수
리스트 → 데이터프레임
리스트는 데이터 프레임의 행으로 변환
df = pd.DataFrame([[18, '남','김천고'], [19, '여', '울산고']],
index=['진현', '민지'],
columns=['나이', '성별', '학교'])
# 결과
나이 성별 학교
진현 18 남 김천고
민지 19 여 울산고
딕셔너리 → 데이터프레임
딕셔너리는 데이터프레임이 열로 변환
dic = {
'c0':[1,2,3],
'c1':[4,5,6],
'c2':[7,8,9],
'c3':[10,11,12]
}
df = pd.DataFrame(dic)
# 결과
c0 c1 c2 c3
0 1 4 7 10
1 2 5 8 11
2 3 6 9 12
df = pd.DataFrame(dict_data, index=['하나', '둘', '셋'])
df
#output
c0 c1 c2 c3
하나 1 4 7 10
둘 2 5 8 11
셋 3 6 9 12
데이터프레임의 CRUD는 다음 게시글에서 ...
'2022 K Data 청년 캠퍼스 > ML&DL' 카테고리의 다른 글
데이터 시각화 (0) | 2022.07.19 |
---|---|
[ML] 4. 주요 머신러닝 모델 (0) | 2022.07.19 |
[ML] 3. 교차 검증 (0) | 2022.07.19 |
[ML] 2. 데이터 인코딩과 피처 스케일링 (0) | 2022.07.19 |
[ML] 1. 분류와 회귀 (0) | 2022.07.19 |