두 개의 모듈을 추가로 설치하고 이번 포스팅에는 판다스 모듈만 정리해볼게요.
1. pandas
2. openpyxl
설치하는 방법은 지난 번 포스팅을 참고해주세요.
https://blue-dot.tistory.com/32
데이터 구조를 분석하는 판다스의 데이터 프레임에 대해서 알아볼게요.
데이터의 가장 흔한 형태 중 하나는 바로 '행과 열'의 2차원 구조입니다.
파이썬 외부 모듈 pandas 는 행과 열 형태로 데이터를 관리하는 클래스 DataFreame 을 제공합니다.
이를 활용하면 데이터를 쉽게 관리할 수 있을 뿐 아니라, 행열 기반의 다른 형식으로 변환하는 작업 또한 쉽게 처리할 수 있습니다.
일반적으로 행의 개수는 데이터의 개수를, 열의 개수는 데이터가 가진 항목의 수를 의미합니다.
파이썬의 딕셔너리와 리스트는 파이썬에 한정적이기 때문에 다른 곳에서 범용적으로 사용하기 위해
행열구조로 바꿔서 내보낼 수 있습니다.
그럼 데이터 프레임 만들기 가장 기본적인 방법부터 해볼게요.
● 딕셔너리 베이스입니다. (파이썬의 기본 데이터 베이스)
딕셔너리 베이스는 딕셔너리의 값이 열로 표현됩니다.
import pandas as pd
#데이터프레임 만들기 방법 1. 딕셔너리 베이스
numbers = {
"odd" : [1, 3, 5, 7],
"even": [2, 4, 6, 8]
}
# 행과 열 형태로 변환!
# index : 행이름 리스트를 전달하는 매개변수
df = pd.DataFrame(numbers, index=["숫자1","숫자2","숫자3","숫자4"])
print(df)
결과값
odd even
숫자1 1 2
숫자2 3 4
숫자3 5 6
숫자4 7 8
딕셔너리 키가 열 위에 표현이 됩니다.
열 위에 표시되는 데이터 이름을 head 라고 합니다.
즉, 딕셔너리의 키 이름은 헤더로 사용이 됩니다.
숫자1, 2, 3, 4로 표현된 열의 이름도 index=[] 로 바꿀 수 있습니다.
● 두 번째로 리스트 베이스 입니다.
리스트 베이스는 행으로 표현됩니다.
import pandas as pd
# 데이터 프레임 만들기 방법 2. 리스트 베이스
numbers = [
[1, 3, 5, 7],
[2, 4, 6, 8]
]
# columns 는 열 이름을 지정하는 매개변수
df= pd.DataFrame(numbers, index=["홀수", "짝수"],
columns=["숫자1", "숫자2", "숫자3", "숫자4"])
print(df)
결과 값은 이렇게 나옵니다.
숫자1 숫자2 숫자3 숫자4
홀수 1 3 5 7
짝수 2 4 6 8
pandas 데이터는 엑셀과 비슷한 프레임 구조를 가지고, 엑셀 파일로 전환도 용이합니다.
그럼 pandas 데이터를 어떻게 접근하는지 직접 해볼게요.
열에 접근할 때에는 그냥 [] <- 대괄호로 인덱스에 접근할 수 있고
행에 접근할 때에는 .iloc (index location) 으로 접근해야 합니다.
import pandas as pd
stocks = [
["삼성전자", 56000],
["카카오", 49000],
["이엔소프트", 31000]
]
sdf = pd.DataFrame(stocks)
# 요소 접근하기 . 키를 이용해서 접근이 가능
print(sdf[0]) # 열 접근
print("\n")
print(sdf.iloc[0]) # 행 접근index location
print("\n")
print(sdf.iloc[1,1]) # 하나의 자료에 접근하는 방법 1행 2열 접근
print("\n")
# 접근 방법과 동일하게 변경도 할 수 있다.
sdf[0] = ["lg화학","한화생명","국민카드"]
print(sdf)
print("\n")
sdf[2] = [200, 300, 400] # 열 추가
print(sdf)
sdf.to_excel("stock.xlsx") # 하위 폴더에 엑셀로 변환해서 저장
값은 아래와 같습니다.
0 삼성전자
1 카카오
2 이엔소프트
Name: 0, dtype: object
0 삼성전자
1 56000
Name: 0, dtype: object
49000
0 1
0 lg화학 56000
1 한화생명 49000
2 국민카드 31000
0 1 2
0 lg화학 56000 200
1 한화생명 49000 300
2 국민카드 31000 400
여기까지 확인하고 다음은 Numpy를 해볼게요!
'AI 머신러닝 딥러닝 > AI 수학 입문 공부일지' 카테고리의 다른 글
AI 인공지능 수학 공부일지 6. 거듭제곱, 제곱근, 삼각함수, 난수 그래프 그리기 (0) | 2022.10.24 |
---|---|
AI 인공지능 수학 공부일지 5. matplotlib 기초 (0) | 2022.10.21 |
AI 인공지능 수학 공부일지 4. Numpy 기초 행열 (0) | 2022.10.21 |
AI 인공지능 수학 공부일지 2. BeautifulSoup로 네이버 금융 코스피 지수 추출하기 (0) | 2022.10.21 |
AI 인공지능 수학 공부일지 1. 파이썬 개발 환경 아나콘다Anaconda 설치하기, 주피터 Jupyter 실행하기 (0) | 2022.10.21 |