[Python] 24. pandas DataFrame 데이터 분석 실습 종합 문제 : sort(), pd.cut(),apply(lambda), sr.quantile(), value_counts(), histogram(), pie chart 예제
import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.family']='Malgun Gothic' matplotlib.rcParams['axes.unicode_minus'] = False 국어점수 데이터 sr = pd.Series( [90,90,55,60,76,80,76,88,30,25], name="국어점수" ) sr.index=['홍길동','이순신','임꺽정','정난정', '이이','이황','정도전','김철수1', '김철수2','김철수3'] sr [OUT] : 홍길동 90 이순신 90 임꺽정 55 정난정 60 이이 76 이황 80 정도전 76 김철수1..
[Python] 23. pandas DataFrame MultiIndex column : levels, get_level_values(),pd.MultiIndex.from_product()예제
import pandas as pd import numpy as np import matplotlib.pyplot as plt from matplotlib import rc import matplotlib rc('font', family='AppleGothic') plt.rcParams['axes.unicode_minus'] = False data = np.random.randint(1,10, size=4) data array([2, 9, 5, 7]) data = np.random.randint(30,101, size=(4,6) ) data array([[94, 42, 91, 67, 54, 94], [87, 30, 83, 31, 92, 65], [83, 43, 99, 43, 37, 59], [82, 88..
[Python] 20. pandas DataFrame merge(병합) : pd.merge(),pd.concat()예제
import pandas as pd import numpy as np employee = [{'empno':1, 'ename':'kim', 'dept':1}, {'empno':2, 'ename':'lee', 'dept':2}, {'empno':3, 'ename':'park', 'dept':1}, {'empno':4, 'ename':'song', 'dept':3}, {'empno':5, 'ename':'min', 'dept':2} ] dept=[{'dept':1, 'deptname':'관리직'}, {'dept':2, 'deptname':'영업직'}, {'dept':3, 'deptname':'개발직'} ] info =[{'empno':1, 'addr':'서울시','phone':'010-1111-1111'},..
[Python] 17. pandas DataFrame groupby : groupby(), sum(), max(), min(), count(), agg()예제
import pandas as pd import numpy as np import matplotlib.pyplot as plt from matplotlib import rc import matplotlib rc('font', family='AppleGothic') plt.rcParams['axes.unicode_minus'] = False 데이터 불러오기 (pd.read_csv) python 파일 경로에 data폴더 만든 후 다음의 hotel.xlsx 파일 넣어놓기 df = pd.read_excel('data/hotel.xlsx',index_col=0) df.head() df['grade'].unique() [OUT] : array([10, 8, 6, 9, 7, 5]) df['grade'].value_c..
[Python] 14. pandas DataFrame 통계 : sum(), unstack(), mean(), values, min(), idxmax(), median(), quantile(), count(), describe()예제
import pandas as pd import numpy as np data = {'eng':[10,30,50,70], 'kor':[20,40,60,80], 'math':[90,50,20,70]} df = pd.DataFrame(data, index=['a','b','c','d'] ) df 데이터프레임 통계함수 default(column별), axis=1 (row별) ※ 일반함수들은 default(row별), axis=1(column별) 이므로 주의 ex) df.dropna(axis=1) 은 NaN이 있는 column삭제 df.sum() [OUT] : eng 160 kor 200 math 230 dtype: int64 df.sum(axis=1) [OUT] : a 120 b 120 c 130 d 220 ..
[Python] 13. pandas DataFrame 추가 수정 삭제 검색 정렬 : dropna(subset=[]),fillna(),isna(),sort_values(),sort_index()예제
import pandas as pd import numpy as np data = {'eng':[10,30,50,70], 'kor':[20,40,60,80], 'math':[90,50,20,70]} df = pd.DataFrame(data, index=['a','b','c','d'] ) df 추가 컬럼 추가 df['my1'] =[1,2,3,4] #컬럼이 있으면 수정, 없으면 추가 df['my2'] = df['kor'] + df['eng'] df 행 추가 data = {'eng':[10,30,50,70], 'kor':[20,40,60,80], 'math':[90,50,20,70]} df = pd.DataFrame(data, index=['a','b','c','d'] ) df df.loc['e'] =[1,2..
[Python] 11. pandas DataFrame 인덱싱(Indexing), 슬라이싱(Slicing) 예제
import pandas as pd import numpy as np data = {'eng':[10,30,50,70], 'kor':[20,40,60,80], 'math':[90,50,20,70]} df = pd.DataFrame(data, index=['a','b','c','d'] ) df # df['a'] # df['컬럼명'] df['eng'] [OUT] : a 10 b 30 c 50 d 70 Name: eng, dtype: int64 df[['eng','math']] df['eng']['a':'c'] [OUT] : a 10 b 30 c 50 Name: eng, dtype: int64 df[['eng']] # df[슬라이싱(row)] df[1:3] df df['b':'c'] iloc 인덱싱 슬라이싱(..
[Python] 09. pandas DataFrame
import pandas as pd import numpy as np d1 = [[1,2],[3,4],[5,6]] d2 = [(1,2),(3,4),(5,6)] d3 = [{'kor':1,'eng':2}, {'kor':3,'eng':4}, {'kor':5,'eng':6}, ] d4 = {'kor':[1,3,5],'eng':[2,4,6]} df1 = pd.DataFrame(d1, index=['a','b','c'],columns=['eng','kor']) df1 df2 = pd.DataFrame(d2) df2 df3 = pd.DataFrame(d3) df3 df4 = pd.DataFrame(d4) df4 review - DataFrame 만들기
[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..