본문 바로가기

Python28

[파이썬] 맷플롯립 (Matplotlib) matplotlib을 사용해서 차트를 통해 데이터를 분석할수 있다. import matplotlib.pyplot as plt import seaborn as sb # 이후에 seaborn도 사용하니 미리 임포트 하자 가장 기본적인 차트인 플롯차트 (선형 그래프)를 만들어보자 in: x = np.arange(0,10) y = x plt.plot(x,y) plt.show() out: # x와 y를 정하고 plot함수를 통해 플롯차트를 만들었다. # show 함수로 사용자에게 차트를 보여준다. 이렇게 만들어진 차트는 savefig를 통해 파일로 저장할수있다. plt.savefig('test1.jpg') countplot 함수를 이용하여 바 차트 (막대그래프)를 만들수 있다. in: sb.countplot(da.. 2022. 5. 2.
[파이썬] 판다스: concat, merge, pivot_table concat 함수를 통해 두개 이상의 데이터프레임을 합칠수있다. df_Engineering_dept = df_Finance_dept = 위의 데이터프레임들을 하나로 합쳐보자 in: df_all = pd.concat([df_Engineering_dept,df_Finance_dept]) df_all out: # 하나의 새로운 데이터프레임으로 다시 만들고 싶다면 인덱스명에 주의하자 # reset_index함수로 인덱스를 재설정하여 0부터 오름차순으로 바꿔줄수있다. merge 함수를 사용해 연봉 데이터가 들어있는 데이터프레임을 이전의 합쳐진 부서데이터에 넣어보자 in: pd.merge(df_all,df_salary,on = 'Employee ID') out: # on 파라미터로 연결되는 컬럼의 이름을 입력해 데.. 2022. 5. 2.
[파이썬] 판다스: 조건과 정렬 데이터프레임에서 조건에 만족하는 데이터들만 가져올수 있다. 경력이 3년 이상인 사람의 데이터를 가져오고 싶을때 먼저 조건문을 적용시킨후: in: df['Years of Experience'] >= 3 out: 0 True 1 True 2 True 3 False Name: Years of Experience, dtype: bool loc함수를 이용하여 데이터를 가져온다. in: df.loc[df['Years of Experience'] >= 3,] out: # 컬럼에 해당되는 파라미터 자리를 비워두면 모든 컬럼이 포함된 데이터를 가져오게 된다. 경력이 3년이상인 사람의 이름과 시급정보를 가져오려고 한다면 in: df.loc[df['Years of Experience'] >= 3,['Employee Name.. 2022. 5. 2.
[파이썬] 판다스: 카테고리컬 데이터 (categorical data) 카테고리컬 데이터는 반복되어 사용되어지는 데이터이다. 개수가 정해져 있고 정해진 데이터들을 이용해서 데이터를 채운다. 반복되는 데이터가 들어있는 데이터프레임이 있다. unique 함수를 통해 특정 열 안에서 중복 제거된 유니크한 데이터를 구해보자 in: df['Year'].unique() out: array([1990, 1991, 1992], dtype=int64) # nunique 함수를 사용하면 유니크한 데이터의 개수를 알수있다. 전체 데이터프레임에 describe 함수를 적용하면 수치 데이터가 포함된 컬럼에 해당되는 전체적인 분석을 볼수있다. in: df.describe() out: 만약 문자 데이터의 열을 describe 하면 조금 다른 형태의 분석이 나온다. in: df['Name'].descr.. 2022. 5. 1.
[파이썬] 판다스: NaN 데이터 프레임 속 NaN 이 얼마나 있는지 파악하자 in: df.isna() out: # isna를 사용하여 False와 True로 NaN의 여부를 확인할 수 있다. sum함수를 활용해 컬럼별로 Nan의 개수를 알 수 있다. in: df.isna().sum() out: bikes 0 pants 0 watches 0 shirts 1 shoes 0 suits 1 glasses 1 dtype: int64 전체 Nan의 개수를 알고 싶으면 sum을 한 번 더 사용하면 된다. in: df.isna().sum().sum() out: 3 NaN을 처리하는 방법은 여러 가지가 있다. 1. 삭제한다. in: df.dropna() out: # dropna를 통해 Nan이 들어갔던 행들이 모두 삭제됐다. 2. 특정값으로 채.. 2022. 4. 29.
[파이썬] 판다스: 2차 배열, DataFrame 판다스는 2차배열을 DataFrame 함수를 통해 만들수 있다. DataFrame을 만들기전 먼저 딕셔너리 형태로 판다스 1차배열인 Serise들을 묶어 변수로 지정해주면 2차 배열인 데이터프레임을 쉽게 만들수 있다. in: # We create a dictionary of Pandas Series items = {'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']), 'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])} df = pd.DataFrame(data=items) df out: # 왼쪽 진한글자는 인.. 2022. 4. 28.
[파이썬] 판다스: 1차 배열, Series Pandas 의 장점 열과 행을 위한 라벨이 허용된다. 기본적인 통계데이터가 제공된다. NaN values 를 알아서 처리한다. 숫자 문자열을 알아서 로드한다. 데이터셋들을 merge 할 수 있음. NumPy 와 Matplotlib를 아우른다. 판다스를 쓰기위해 우선 pandas를 import한다. import pandas as pd 판다스에서 1차원 데이터를 시리즈라고 한다. Series함수를 사용해 시리즈를 생성해보자. in: my_data = [30, 6, 'Yes', 'No'] x = pd.Series(data= my_data) x out: 0 30 1 6 2 Yes 3 No dtype: object # Series 함수에 data= 파라미터를 사용해 시리즈를 생성할수있다. # 시리즈 왼쪽의 숫자.. 2022. 4. 28.
[파이썬] 넘파이: 인덱스, 슬라이싱, delete, append, insert, copy, unique 4행 5열인 2차원 배열 X에 70보다 큰 데이터가 몇개있는지 확인하자. 70보다 큰 데이터는 True가, 아닌것은 False가 나오는걸 볼수있다. in: X > 70 out: array([[ True, True, False, False, True], [False, False, False, False, False], [False, False, False, False, False], [ True, False, False, False, False]]) sum함수를 이용하여 70보다 큰 데이터의 개수를 확인할수 있다. in: (X > 70).sum() out: 4 # True는 1, False는 0인 성질을 이용해 셀수있다. X 중 70보다 큰 데이터만 가져온다고 한다면 in: X[X > 70] out: ar.. 2022. 4. 28.