pandas matplotlib numpy의 역할 구분해보기 (feat csv)
보통 머신러닝에서 기본적으로 언급되는 라이브러리라고 하면
PANDAS , MATPLOTLIB , NUMPY 요렇게가 제일 많이 있는 것 같다 .
간단하게 각 라이브러리들의 역할을 정리해보자 .
PANDAS | MATPLOTLIB | NUMPY |
데이터 프레임 자료구조(series , dataframe)를 사용하여 엑셀과 유사한 형태로 데이터를 처리할 수 있습니다 - 엑셀도 파이썬으로 다루게 됨 . for문 사용하지 않고 이터러블하게 데이터 처리 가능 결측치 처리, 그룹화, 병합, 피벗 등 다양한 데이터 조작 기능을 제공합니다 |
2D와 3D 그래프를 그릴 수 있는 다양한 스타일과 기능을 제공합니다 선그래프 , 산점도 ,히스토그램 PANDAS와 함께 사용하면 데이터 프레임을 쉽게 시각화(PLOT함수)할 수 있습니다 |
다차원 배열 자료구조를 사용하여 고성능의 수치 계산을 할 수 있습니다 PANDAS는 NUMPY에 의존하며, 대부분의 파이썬 수치 도구들도 NUMPY를 기반으로 합니다 표 /다양한 데이터를 다룰때는 PANDAS가 나음. |
테이블 데이터 특화 | 그래프 표현 특화 | 고속의 벡터연산 특화 |
데이터프레임 | 시리즈 |
2차원표(넘파이도 2차원을 다룰 수 있어서 넘파이 함수를 쓰기도 함 . ) 이 표에 인덱스가 있다는 것이 강력한 점 . 리스트 / 딕셔너리 구조로 이용할 수 있어서 . |
1차원표 , INDEX 뿐임 |
둘다 VALUES라고 부름 . |
*이터러블 : 반복 가능 하다는 뜻 . =for 문으로 순회할 수 있는 객체
한 번에 하나씩 자료를 반환할 수 있는 파이썬 객체
책으로 따지면 .. 1장 2장 3장 이렇게 한번에 한 장씩 다룰 수 있다고 생각하면 됨 .
그치만 책의 중간장으로 막 쑤시고 갈 수 없음 . . 순서대로 꺼내야함.
예시코드
# 문자열
s = "Hello"
for c in s:
print(c)
# H
# e
# l
# l
# o
# 리스트
l = [1, 2, 3]
for n in l:
print(n)
# 1
# 2
# 3
# 튜플
t = (4, 5, 6)
for n in t:
print(n)
# 4
# 5
# 6
# 딕셔너리
d = {"a": 1, "b": 2, "c": 3}
for k in d:
print(k)
# a
# b
# c
# 집합
s = {7, 8, 9}
for n in s:
print(n)
# 7
# 8
# 9
# range () 함수객체
r = range(10)
for n in r:
print(n)
# 0
# 1
# 2
# ...
나는 ' 고속의 벡터 연산 '
이라는게 좀 어려워서 더 찾아보고 , 요 링크에 정리해 보았다 .
아하 .. 위 라이브러리들은 데이터 관리를 해주는 라이브러리구나 .
그렇다면 실제 데이터를 불러오는 것이 필요하겠지 .
이 때 데이터파일을 따로 불러오게 되는데 , 이 때 데이터파일의 확장자로 많이 쓰이는 것이 csv이다 .
확장자가 CSV인 경우 = CSV파일 ..
EX) 김혜윤 .CSV 이런거 . ..
이 파일의 특징이라고 하면, 데이터들이 쉼표(,)로 구분되어 나온 형식이다 .
CSV= comma seprated value
name , age, sex 이런식으로 ,,,,
간단하게 말하면 데이터임 !
이거는 엑셀로도 열리고
텍스트 에디터로도 열림 ..!!(메모장 or visual code)
아하 .. 근데 데이터는 써먹으라고 있는 법이니까 이거를 파이썬에서 써먹는 방법을 알아야 할 듯 하다 .
링크로 연결해놓았다 .
pandas 사용 용례