본문 바로가기

728x90
반응형
SMALL

코딩으로 익히는 Python

(69)
[Python] 05. pandas Series 추가,수정,삭제,검색,정렬 : loc(),drop(),append(),inplace=True예제 import pandas as pd import numpy as np data = {'aa':10,'bb':20,'cc':30,'dd':40, 'ee':50} sr = pd.Series(data, name='국어점수') sr [OUT] : aa 10 bb 20 cc 30 dd 40 ee 50 Name: 국어점수, dtype: int64 CRUD Create : 생성 Read : 읽기 Update : 갱신 Delete : 삭제 추가 & 수정 sr[0] = 100 # sr['aa'] = 100 # sr.loc['aa'] = 100 # sr.iloc[0] = 100 sr[1:3] = [1,2] # sr.iloc[1:3] = [1,2] # sr['bb':'cc'] = [1,2] # sr.loc['bb':'cc'..
[Python] 04. pandas Series 연산 : 산술관계논리(element wise),isin(),between()예제 import pandas as pd import numpy as np data = {'aa':10,'bb':20,'cc':30,'dd':40, 'ee':50} sr = pd.Series(data, name='국어점수') sr [OUT] : aa 10 bb 20 cc 30 dd 40 ee 50 Name: 국어점수, dtype: int64 sr.index [OUT] : Index(['aa', 'bb', 'cc', 'dd', 'ee'], dtype='object') 산술관계논리(element wise) sr+1 [OUT] : aa 11 bb 21 cc 31 dd 41 ee 51 Name: 국어점수, dtype: int64 sr*2 [OUT] : aa 20 bb 40 cc 60 dd 80 ee 100 Name:..
[Python] 03. pandas Series 인덱싱(Indexing),슬라이싱(Slicing) : boolean indexing,loc()과 iloc() 차이 예제 import pandas as pd import numpy as np data = {'aa':10,'bb':20,'cc':30,'dd':40, 'ee':50} sr = pd.Series(data, name='국어점수') sr [OUT] : aa 10 bb 20 cc 30 dd 40 ee 50 Name: 국어점수, dtype: int64 인덱싱 sr[0] # sr의 제일 처음 값 가져오기 [OUT] : 10 sr[-1] # sr의 제일 마지막 값 가져오기 [OUT] : 50 sr['aa'] # sr.aa -> 가능하지만 권장하진 않음. 속성명과 인덱스가 중복될 수 있으므로. [OUT] : 10 sr['cc'] [OUT] : 30 sr[[0,2,3]] [OUT] : aa 10 cc 30 dd 40 Name:..
[Python] 02. pandas Series 속성 : Series(),dictionary,index,dtype,ndim,shape,size,name예제 import pandas as pd import numpy as np data = {'aa':10,'bb':20,'cc':30,'dd':40, 'ee':50} # 딕셔너리 sr = pd.Series(data, name='국어점수') # 시리즈 생성 sr [OUT] : aa 10 bb 20 cc 30 dd 40 ee 50 Name: 국어점수, dtype: int64 sr.dtype [OUT] : dtype('int64') sr.ndim # 몇 차원 [OUT] : 1 sr.shape # 벡터와 같은개념. 튜플 [OUT] : (5,) sr.size # 전체 데이터의 개수 [OUT] : 5 sr.name [OUT] : '국어점수' print(sr.index) print(type(sr.index)) # index..
[Python] 01. pandas Series 만들기 : pd.Series()예제 import pandas as pd import numpy as np # 1차원 데이터 myList = [10,20,30,40] # 리스트 t = (10,20,30,40) # 튜플 d = {'aa':10,'bb':20,'cc':30} # 딕셔너리 판다스의 핵심 Series : 1차원데이터 DataFrame : 2차원데이터(이상) 시리즈 예제 sr1 = pd.Series(myList,index=['aa','bb','cc','dd'], dtype=np.int32, name='kor' ) sr1 [OUT] : aa 10 bb 20 cc 30 dd 40 Name: kor, dtype: int32 sr2 = pd.Series(t) sr2 [OUT] : 0 10 1 20 2 30 3 40 dtype: int64 s..
[Python] 07. numpy 종합 예제 : matplotlib,시각화,np.loadtxt(),plt.show(),np.array(),zip(),np.quantile() import numpy as np 데이터 불러오기 (np.loadtxt) python 파일 경로에 data폴더 만든 후 다음의 births.txt 파일 넣어놓기 birth = np.loadtxt( 'data/births.txt', delimiter=',', dtype=np.int64) # data폴더 안의 births.txt파일 ','로 구분하여 load하기 birth.shape # 132행 3열 [OUT] : (132, 3) birth # 연도, 남아수, 여아수로 구성되어있음 [OUT] : array([[ 1880, 90993, 110491], [ 1881, 91954, 100745], [ 1882, 107850, 113688], [ 1883, 112321, 104629], [ 1884, 129022,..
[Python] 06. numpy 2차원 데이터 : boolean indexing,vstack(),hstack(),axis=0,axis=1예제 import numpy as np data = np.array( [ [1,2,3],[7,5,2],[10,1,8],[6,3,4] ] ) data [OUT] : array([[ 1, 2, 3], [ 7, 5, 2], [10, 1, 8], [ 6, 3, 4]]) 2차원 데이터 인덱싱(indexing), 슬라이싱(slicing) 예제 data.shape [OUT] : (4, 3) data.reshape(-1,2,2) # [면,행,열], -1은 알아서 설정하라는 의미 [OUT] : array([[[ 1, 2], [ 3, 7]], [[ 5, 2], [10, 1]], [[ 8, 6], [ 3, 4]]]) data # 위에서 reshape을 했지만 data에 담지 않았으므로 바뀌지 않음 [OUT] : array([[ ..
[Python] 05. numpy 통계 : argmin(), std(), median(), quantile(),sum(),max(),zip()예제 import numpy as np arr = np.array([22,11,33,44,55]) numpy의 통계 함수 argmin() std() median() quantile() 통계 함수 예제 arr.argmin() # arr중 가장 작은 값의 인덱스 반환 [OUT] : 1 arr.std() # arr의 표준 편차 반환 [OUT] : 15.556349186104045 np.median(arr) #데이터를 정렬했을때 가운데 값 [OUT] : 33.0 np.quantile(arr,[0.25,0.5,0.75]) # arr의 제 1사분위수(0.25), 중앙값(0.5), 제 3사분위수(0,75) 값을 반환 [OUT] : array([22., 33., 44.]) 연습문제 kor = np.array( [60,55,..
[Python] 04. numpy 추가,수정,삭제,정렬 : append(),insert(),where(),select(),delete(),sort()예제 import numpy as np 추가 append() insert() 추가 예제 arr = np.array([11,22,33,44,55]) arr [OUT] : array([11, 22, 33, 44, 55]) arr = np.append(arr,[100,200]) arr [OUT] : array([224, 335, 100, 200]) np.insert(arr,1,[1,2]) [OUT] : array([ 11, 1, 2, 22, 33, 44, 55, 100, 200]) arr [OUT] : array([ 11, 22, 33, 44, 55, 100, 200]) # np.insert()했지만 arr이 수정된 것은 아님을 알 수 있음 arr = np.insert(arr,1,[1,2]) # np.insert(..
[Python] 03. numpy 인덱싱(Indexing),슬라이싱(Slicing) : boolean indexing, np.array()예제 import numpy as np arr = np.array([11,22,33,44,55]) arr [OUT] : array([11, 22, 33, 44, 55]) 인덱싱(indexing) arr[0] [OUT] : 11 arr[-1] [OUT] : 55 arr[[0,2,3]] # 복수개의 인덱스 선택 [OUT] : array([11, 33, 44]) Boolean indexing (element-wise) arr[[True,True,False,False,True]] [OUT] : array([11, 22, 55]) arr>30 [OUT] : array([False, False, True, True, True]) arr[arr>30] [OUT] : array([33, 44, 55]) 슬라이싱(slicin..
[Python] 02. numpy 속성 변환 함수 : astype(),reshape(),dtype예제 import numpy as np numpy.array의 핵심 속성 array() dtype size shape ndim .T 핵심 속성 예제 #1 arr = np.array([11,22,33,44,55]) # arr이라는 array 생성 arr [OUT] : array([11, 22, 33, 44, 55]) arr.dtype [OUT] : dtype('int64') arr.size [OUT] : 5 arr.shape [OUT] : (5,) arr.ndim [OUT] : 1 arr.T # arr == arr.T [OUT] : array([11, 22, 33, 44, 55]) 핵심속성 예제 #2 arr1 = np.array([[11,22],[33,44],[55,66]]) # arr1이라는 array 생성 ..
[Python] 01. numpy 객체 생성 : array(),ones(),zeros(),eye(),random.rand(),choice()예제 import numpy as np numpy : 리스트의 확장판 (데이터 연산, 통계분석) pandas : numpy의 확장판 용어 정리 scalar : 상수값(10,3.14,'korea') vector(1차원) : [10,20,30] matrix(2차원) : [[10,20,30],[100,200,300]] 2X3 3차원 : [[[10,20,30],[100,200,300]],[[10,20,30],[100,200,300]]] 2X2X3 ndarray 생성 방법 #1 arr1 = np.array([10,20,30]) print(type(arr1)) print(arr1) arr1 [OUT] : [10 20 30] array([10, 20, 30]) arr2 = np.array([[10,20,30],[100,2..
[Python 실습] 부산광역시 세금 데이터 분석 : groupby(),idxmax(),unstack(),fillna() 데이터 전처리/시각화 부산광역시 세금 데이터 불러오기 taxDF = pd.read_csv('data/부산광역시_부산시인터넷지방세청(사이버지방세청)_지방세등 납부현황_20200630.csv', thousands=',',encoding='euc-kr') taxDF = pd.DataFrame(taxDF) # taxDF의 컬럼에 공백이있어 공백 제거 작업 colList = [] for col in taxDF.columns: colList.append(col.strip()) taxDF.columns = colList taxDF.head(15) 1. 납부년도에 따른 기관별 최대 건수의 납부금액 시각화 # 연도별 데이터프레임 구축 li = taxDF['납부년도'].unique().tolist() taxList = [] for i in r..

728x90
반응형
LIST