카테고리 없음

pandas matplotlib numpy의 역할 구분해보기 (feat csv)

공부혜이드 2023. 3. 10. 14:06

보통 머신러닝에서 기본적으로 언급되는 라이브러리라고 하면 

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 사용 용례