안녕하세요.
26년차 진로탐색꾼 조녁입니다!
패기롭게 3일차까지 가봤지만!! 4일차부터 내용이 너무 많아서(핑계)
이제야 다시 포스팅을 시작합니다!!
3일차 <AI와 ML을 위해 배워야할 개발언어 : 파이썬(Python)> 기초 강의는 아래 주소 확인해주세요~
4일차는 파이썬에서 머신러닝을 할 때 가장 많이 쓰는 라이브러리죠.
Pandas 와 Numpy에 대해서 배워봤습니다.
순서상으로는 Numpy를 기반으로 Pandas를 만든 것이기에 Numpy를 먼저 배우는 것이 맞지만
그러면 좀 노잼이될 수 있다며 강사님은 Pandas부터 알려주셨어요 ㅋㅋㅋㅋ
4일차 내용
1) Pandas 로 DataFrame 다뤄보기
2)Numpy의 내장함수
1) Pandas 로 DataFrame 다루기
시작하기 전 알아두면 좋을 기본 개념 : Module < Package < Library < API ---- 이러한 대략적으로 어떤 개념이 더 큰건 지만 알아두자!
1-1) Data Structure
: data 는 두가지 형태가 있다. Series 와 DataFrame , 우리는 DataFrame에 대해 주로 다룰 것이니 기본적인 개념만 보고 넘어가자.
@ 꿀Tip @ 보통 코딩을 시작할 때, 필요한 라이브러리를 아래와 같이 부르고 시작합니다~!
import pandas as pd #pandas 를 pd로 불러온다. as는 alias ==별명/별칭
from pandas import read_csv #pandas(라이브러리) 에 있는 read_csv(패키지)를 불러온다.
ㄱ. Series
-Series는 수학적으로 벡터(vector)와 유사하다 (위에서 아래로 떨어지는 1차원 벡터)
odd = [1, 3, 5, 7, 9]
print(odd)
>> [1, 3, 5, 7, 9]
ㄴ. DataFrame
- DataFrame은 수학적으로 행렬(matrix)와 유사하다
numbers = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
numbers_df = pd.DataFrame(numbers)
>>>
---- > 여기서 잠깐!! 데이터를 가져오면 가장 먼저 해야할 것은 , 바로 데이터의 타입과 모양을 보는 것입니다.
numbers_df.dtypes
>>> #type 과 dtype 차이 : dtype 은 안에 있는 데이터의 타입
numbers_df.astype('float') #astype은 타입을 바꿔준다. , 'float'은 소수점 붙어있는 상태
2) Numpy의 내장함수
import numpy as np #우선 라이브러리를 불러주고
np.array([10, 20, 30])
>>> array( [10, 20, 30] )
sample_array = np.array([10,20,30])
sample_array.shape #데이터의 형태 확인
>>> (3, )
sample_array.ndim
>>> 1
sample_array.dtype #데이터의 타입 확인
>>> dtype('int64')
def printinfo(arr):
print("shape: {}, dimension: {}, dtype: {}".format(arr.shape, arr.ndim, arr.dtype)) #format 함수 사용하는 방식중하나임
printinfo(sample_array)
>>> shape: (3,), dimension: 1, dtype: int64
sample_array=[ [ [1,2,3], [4,5,6] ], #[ ] 갯수만큼이 차원(dimension)이라고 보면 됨
[ [3,2,1], [6,5,4] ]
]
sample_array = np.array(sample_array)
printinfo(sample_array)
>>> shape: (2, 2, 3), dimension: 3, dtype: int64
np.reshape(np.zeros(24), (3,4,2)) #reshape : 데이터의 모양을 바꿔주는데 차원도 바꿔줄 수 있다. ex) (3,4,2) --> (6,4)
>>>
(부록) 다양한 형태의 numpy array 생성 방법
np.zeros(5)
>>> array([0., 0., 0., 0., 0.])
np.full( (2,2), 26)
>>> array([ [26, 26] ,
[26, 26] ])
np.eye(2)
>>> array([ [1., 0.],
[0., 1.] ])
np.arange(1, 5) -----> 파이썬의 range와 동일하나, 결과값 형식이 다르다.(array , range)
>>> array([1, 2, 3, 4])
np.random.randint(0,100,20) #0~100 중에 랜덤으로 20개 뽑아준다.
>>> array([30, 19, 77, 34, 47, 54, 48, 31, 67, 59, 76, 75, 48, 25, 3, 63, 14, 54, 55, 23])
array = np.linspace(0,10,5)
print(array)
>>> [ 0. 2.5 5. 7.5 10. ] #np.linspace(a,b,c) 는 a~b까지 c개의 숫자를 동일한 간격으로 나열한 array
'프로그래밍 공부 > 코드프레소 교육' 카테고리의 다른 글
[코드프레소XAI양재허브]AI/ML 기초교육 5일차 (1) (0) | 2020.12.07 |
---|---|
[코드프레소XAI양재허브]AI/ML 기초교육 4일차 (2) (2) | 2020.12.04 |
[코드프레소XAI양재허브]AI/ML 기초교육 3일차 (2) | 2020.11.26 |
[코드프레소XAI양재허브] AI/ML 기초교육 2일차 (2) | 2020.11.25 |
[코드프레소 X AI 양재허브] AI/ML 기초교육 1일차 (2) | 2020.11.24 |