1. Numpy로 array 만들기
일단 import numpy 때리고
import numpy as np
np.array([1,2,3])
np.array([[1,2],[3,4]])
array([[1, 2],
[3, 4]])
np.array([1,2,3,4]).reshape((2,2))
array([[1, 2],
[3, 4]])
Numpy 인덱싱 / 슬라이싱
array.ndim = 차원의 수
array.shape = 모양
array.sum() / std() / var() 등등 numpy array 공식 많다.
# array.dtype 데이터타입
# 그 외 다양한 함수
# In[ ]:
nums = np.array([1,2,2,3])
nums
# In[ ]:
set(nums) # 집합 = 중복을 허용하지 않는다. -> 고유값 뽑아내기
# In[ ]:
len(nums) # 원소의 개수, 1차원 arrayy의 길이
# In[ ]:
np.unique(nums) #중복 제거 후 고유한 것만 남겨라
# In[ ]:
len(np.unique(nums))
# range의 업그레이드 버전
# In[ ]:
np.arange(3,10,2) # 3에서 10까지 2 간격으로 수열을 만드는 함수
# range는 시작이 무조건 0이지만 arange는 시작점, 간격 설정 가능
# In[ ]:
nums
# In[ ]:
np.where(nums == 2, 'yes', 'no') # True를 yes, False를 no로 반환
# Pandas의 객체
# Series 개요!
# Pandas 객체의 1차원 객체
# value + index로 구성
# Series() 함수 + 대괄호로 생선한다
# In[ ]:
import pandas as pd
# In[ ]:
test = pd.Series([1,2,3])
test
# In[ ]:
pd.Series([4,5,6], index = [1,2,3])
# 사실 Pandas는 Numpy의 기능 대부분을 포함한 것이고 거기다가 기능을 몇개 추가한 것
# 대표적인 Pandas의 Method
# test.sum()
# test.min()
# test.max()
# test.mean()
# test.std()
# test.skew() #왜도
# test.kurt() #첨도
# test.unique() #고유값
# test.idxmax() #최대값의 index
# test.isin(['a','b']) #포함 여부 검사
# In[ ]:
test = pd.Series([2,4,4,5,6,7,7,8,9])
test
# In[ ]:
test.idxmax()
# In[ ]:
test.idxmin()
# In[ ]:
test.isin([6,7])
# In[ ]:
test.isin([6,7]) + 0 # True = 1 , False = 0
# In[ ]:
test.isin([6,7]).sum()
# In[ ]:
test
# In[ ]:
test[[1,5]]
# In[ ]:
test[[2,3]]
# In[ ]:
test[:-1]
# DataFrame 개요
# Pandas 객체의 2차원 객체
# value와 row/column index로 구성되어 있다.
# 변수별로 문자/숫자 등 다른 속성 지정 가능
# 기본적으로 Dict를 활용해서 생성한다
# In[ ]:
pd.DataFrame([1,2,3],[4,5,6])
# In[ ]:
pd.DataFrame({'a':[1,2,3],'b':[4,5,6]})
# In[ ]:
pd.DataFrame([[1,2],[3,4],[5,6]],columns = ['a','b'])
# In[ ]:
pd.DataFrame(np.arange(4,11,2).reshape((2,2)),columns = ['가','나'])
# crosstab
# 두 변수를 조합하여 살펴볼 때 사용하는 Pandas의 함수
# normalize 인자에 True, 1, 0 값을 할당하여 값을 정규화 할 수 있다
# groupby
# 특정 변수를 기준으로 요약 연산을 할 때 활용하는 Method
# 두 개 이상의 변수를 기준으로 연산살 ㅎ=경우엔, 변수명을 List로 묶는다.
# In[ ]:
df = pd.DataFrame({'a':np.arange(5),'b':[1,1,1,3,4]})
df
# In[ ]:
pd.crosstab(df['a'],df['b']) # column a , b 조합 비율 확인 가능