파이썬/파이썬 심화
-
팬더스(Pandas)란 경영, 경제학에서 주로 사용되는 패널 데이터(Panel Data)에서 유래 R에서 사용되는 data.frame과 유사한 DataFrame 구조를 사용 주로 pd로 import (즉, import pandas as pd) 시리즈(Series) 클래스 numpy의 배열과 비슷한 형태지만, 값마다 인덱스를 붙일 수 있음 즉, 시리즈 = 값(value) + 인덱스(index) # 지역별 인구 데이터 ('23년 5월 기준, 1단위: 만 명) import pandas as pd s1 = pd.Series([1361,941,330,297]) # 인덱스를 안 붙였을 때 print(s1) ''' 0 1361 1 941 2 330 3 297 ''' s2 = pd.Series([1361,941,330..
[파이썬 심화] 5-1. Pandas 정의와 시리즈 클래스팬더스(Pandas)란 경영, 경제학에서 주로 사용되는 패널 데이터(Panel Data)에서 유래 R에서 사용되는 data.frame과 유사한 DataFrame 구조를 사용 주로 pd로 import (즉, import pandas as pd) 시리즈(Series) 클래스 numpy의 배열과 비슷한 형태지만, 값마다 인덱스를 붙일 수 있음 즉, 시리즈 = 값(value) + 인덱스(index) # 지역별 인구 데이터 ('23년 5월 기준, 1단위: 만 명) import pandas as pd s1 = pd.Series([1361,941,330,297]) # 인덱스를 안 붙였을 때 print(s1) ''' 0 1361 1 941 2 330 3 297 ''' s2 = pd.Series([1361,941,330..
2023.06.30 -
데이터프레임(DataFrame) 클래스데이터프레임은 2차원 행렬 데이터에 인덱스를 붙인 것 - 따라서, 행 인덱스(row index)와 열 인덱스(column index)가 별도로 존재data = {'2015' : [990,344,289], '2010': [963,339,263], '2005':[976,351,251]} columns = ['2015','2010','2005'] index = ['서울','부산','인천'] df = pd.DataFrame(data,index=index,columns=columns) print(df) ''' 2015 2010 2005 서울 990 963 976 부산 344 339 351 인천 289 263 251 ''' 리스트 형태로도 가능 - 단, 리스트는 입력 모양 그대..
[파이썬 심화] 5-2. Pandas 데이터프레임 클래스데이터프레임(DataFrame) 클래스데이터프레임은 2차원 행렬 데이터에 인덱스를 붙인 것 - 따라서, 행 인덱스(row index)와 열 인덱스(column index)가 별도로 존재data = {'2015' : [990,344,289], '2010': [963,339,263], '2005':[976,351,251]} columns = ['2015','2010','2005'] index = ['서울','부산','인천'] df = pd.DataFrame(data,index=index,columns=columns) print(df) ''' 2015 2010 2005 서울 990 963 976 부산 344 339 351 인천 289 263 251 ''' 리스트 형태로도 가능 - 단, 리스트는 입력 모양 그대..
2023.06.30 -
샘플링데이터에서 표본을 무작위로 선택하는 과정np.random.choid(a,size=None,replace=True,p=None) a : 정수 = arange(a), 배열 = 원래 데이터 size : 샘플 숫자 (정수) replace : True면 복원추출(같은 값이 여러 번 표본으로 선택 가능) , False면 비복원추출(boolean, 디폴트는 True) p : 각 데이터의 선택 확률 (리스트)print(np.random.choice(4,3)) # 0 ~ 3 중 3개 샘플링 - 중복 가능(복원추출) # [0 2 2] print(np.random.choice(4,3, replace=False)) # 중복 불가능(비복원추출) # [3 2 0] print(np.random.choice(4)) # 0 ~ ..
[파이썬 심화] 4-2. NumPy 샘플링, 카운팅샘플링데이터에서 표본을 무작위로 선택하는 과정np.random.choid(a,size=None,replace=True,p=None) a : 정수 = arange(a), 배열 = 원래 데이터 size : 샘플 숫자 (정수) replace : True면 복원추출(같은 값이 여러 번 표본으로 선택 가능) , False면 비복원추출(boolean, 디폴트는 True) p : 각 데이터의 선택 확률 (리스트)print(np.random.choice(4,3)) # 0 ~ 3 중 3개 샘플링 - 중복 가능(복원추출) # [0 2 2] print(np.random.choice(4,3, replace=False)) # 중복 불가능(비복원추출) # [3 2 0] print(np.random.choice(4)) # 0 ~ ..
2023.06.27 -
기술 통계import numpy as np x = np.array([10,15,34,96,16,24,81,51,22,34]) print(len(x)) # 배열 원소의 개수 print(np.mean(x)) # 배열 원소의 평균 print(np.var(x)) # 분산 print(np.std(x)) # 표준편차 print(np.max(x)) # 최대값 print(np.min(x)) # 최소값 print(np.median(x)) # 중앙값 print(np.percentile(x, 10)) # 하위 10% 값 print(np.percentile(x, 25)) # 하위 25% 값 (1사분위) print(np.percentile(x, 50)) # 중앙값 (2사분위) 난수 발생random 서브패키지의 rand 함수 ..
[파이썬 심화] 4-1. NumPy 기술 통계, 난수 발생기술 통계import numpy as np x = np.array([10,15,34,96,16,24,81,51,22,34]) print(len(x)) # 배열 원소의 개수 print(np.mean(x)) # 배열 원소의 평균 print(np.var(x)) # 분산 print(np.std(x)) # 표준편차 print(np.max(x)) # 최대값 print(np.min(x)) # 최소값 print(np.median(x)) # 중앙값 print(np.percentile(x, 10)) # 하위 10% 값 print(np.percentile(x, 25)) # 하위 25% 값 (1사분위) print(np.percentile(x, 50)) # 중앙값 (2사분위) 난수 발생random 서브패키지의 rand 함수 ..
2023.06.24 -
차원 축소 연산최대/최소, 합, 평균, 표준편차 등 차원을 축소하는 연산x = np.array([1,4,2,3]) print(np.sum(x)) # 합 : 10 print(np.min(x)) # 최소값 : 1 print(np.max(x)) # 최대값 : 4 print(np.argmin(x)) # 최소값의 위치 : 0 print(np.argmax(x)) # 최대값의 위치 : 1 print(np.mean(x)) # 평균 : 2.5 print(np.median(x)) # 중간값 : 2.5all, any - all : 모든 데이터가 True면 True - any : 하나라도 True면 Truex = np.array([True, True, False]) print(np.all(x)) # False print(np..
[파이썬 심화] 3-2. NumPy 차원 축소 연산, 정렬차원 축소 연산최대/최소, 합, 평균, 표준편차 등 차원을 축소하는 연산x = np.array([1,4,2,3]) print(np.sum(x)) # 합 : 10 print(np.min(x)) # 최소값 : 1 print(np.max(x)) # 최대값 : 4 print(np.argmin(x)) # 최소값의 위치 : 0 print(np.argmax(x)) # 최대값의 위치 : 1 print(np.mean(x)) # 평균 : 2.5 print(np.median(x)) # 중간값 : 2.5all, any - all : 모든 데이터가 True면 True - any : 하나라도 True면 Truex = np.array([True, True, False]) print(np.all(x)) # False print(np..
2023.06.21 -
일반 연산과 벡터화 연산 계산 속도 비교 일반 연산 import numpy as np import time x = np.arange(1,10001) y = np.arange(10001,20001) # 일반 연산 start = time.time() # 시작 시간 측정 z = np.zeros_like(x) for i in range(10000): z[i] = x[i] + y[i] end = time.time() # 종료 시간 측정 print(z[:10]) # [10002 10004 10006 10008 10010 10012 10014 10016 10018 10020] print('%.8f sec' %(end-start)) # 0.00582504 sec 벡터화 연산 # 백터화 연산 start = time.ti..
[파이썬 심화] 3-1. NumPy 벡터화 연산 속도 비교, 브로드캐스팅일반 연산과 벡터화 연산 계산 속도 비교 일반 연산 import numpy as np import time x = np.arange(1,10001) y = np.arange(10001,20001) # 일반 연산 start = time.time() # 시작 시간 측정 z = np.zeros_like(x) for i in range(10000): z[i] = x[i] + y[i] end = time.time() # 종료 시간 측정 print(z[:10]) # [10002 10004 10006 10008 10010 10012 10014 10016 10018 10020] print('%.8f sec' %(end-start)) # 0.00582504 sec 벡터화 연산 # 백터화 연산 start = time.ti..
2023.06.18 -
전치(transpose) 행과 열을 바꾸는 작업 - T로 표기 a = np.array([[1,2,3],[4,5,6]]) print(a) ''' [[1,2,3] [4,5,6]] ''' print(a.T) ''' [[1,4] [2,5] [3,6]] ''' 크기 변형 배원 차원 변형 - reshape a = np.arange(12) print(a) # [0 1 2 3 4 5 6 7 8 9 10 11] b=a.reshape(3,4) print(b) ''' [[0 1 2 3] [4 5 6 7] [8 9 10 11]] ''' reshape() 함수 안에 -1로 대체 가능 ( 원소 개수는 정해져 있어서 가능 ) ※ reshape한 배열들은 완전히 다른 배열이다. a = np.arange(12) print(a) # [..
[파이썬 심화] 2-2. NumPy 배열 변형전치(transpose) 행과 열을 바꾸는 작업 - T로 표기 a = np.array([[1,2,3],[4,5,6]]) print(a) ''' [[1,2,3] [4,5,6]] ''' print(a.T) ''' [[1,4] [2,5] [3,6]] ''' 크기 변형 배원 차원 변형 - reshape a = np.arange(12) print(a) # [0 1 2 3 4 5 6 7 8 9 10 11] b=a.reshape(3,4) print(b) ''' [[0 1 2 3] [4 5 6 7] [8 9 10 11]] ''' reshape() 함수 안에 -1로 대체 가능 ( 원소 개수는 정해져 있어서 가능 ) ※ reshape한 배열들은 완전히 다른 배열이다. a = np.arange(12) print(a) # [..
2023.06.01 -
NumPy 자료형 - ndarray 클래스의 원소는 모두 같은 자료형이어야 함 - np.array로 배열을 만들 때 dtype으로 자료형을 명시 * dtype 인수가 없다면 자료형을 스스로 유추해냄 import numpy as np a = np.array([1,2,3]) print(a.dtype) # int64 a = np.array([1.0,2.0,3.0]) print(a.dtype) # float64 a = np.array([1,2,3.0]) print(a.dtype) # float64 dtype 접두사 설명 사용 예 b 불리언 b (참 혹은 거짓) i 정수 i8 (64비트) u 부호 없는 정수 u8 (64비트) f 부동소수점 f8 (64비트) c 복소 부동소수점 c16 (128비트) O 객체 0 ..
[파이썬 심화] 2-1. NumPy 배열 생성NumPy 자료형 - ndarray 클래스의 원소는 모두 같은 자료형이어야 함 - np.array로 배열을 만들 때 dtype으로 자료형을 명시 * dtype 인수가 없다면 자료형을 스스로 유추해냄 import numpy as np a = np.array([1,2,3]) print(a.dtype) # int64 a = np.array([1.0,2.0,3.0]) print(a.dtype) # float64 a = np.array([1,2,3.0]) print(a.dtype) # float64 dtype 접두사 설명 사용 예 b 불리언 b (참 혹은 거짓) i 정수 i8 (64비트) u 부호 없는 정수 u8 (64비트) f 부동소수점 f8 (64비트) c 복소 부동소수점 c16 (128비트) O 객체 0 ..
2023.06.01