[파이썬 판다스] 데이터 프레임 합치기 (열 이름 같은 경우)
열 이름이 같은 데이터 프레임을 두개 정의합시다. import pandas as pd #데이터프레임 생성 df1=pd.DataFrame({'name':['Kim','Park','Lee'],'height':[177,175,166]}) df2=pd.DataFrame({'name':['Chun','Kang','Choi'],'height':[156,182,158]}) 각 데이터프레임은 아래와 같습니다. >>> df1 name height 0 Kim 177 1 Park 175 2 Lee 166 >>> df2 name height 0 Chun 156 1 Kang 182 2 Choi 158 두 데이터프레임을 합칠 때는 concat 함수를 사용합니다. df_total=pd.concat([df1,df2]) >>> df_..
2022. 3. 10.
[파이썬 판다스] 값을 구간별로 나누기 (연속형데이터를 범주형으로)
점수를 학점으로 바꿔보는 예제입니다. 변환 기준은 아래와 같습니다. #학점 기준 #[0~70) : D #[70~80) : C #[80~90) : C #[90~100) : D 먼저 데이터를 생성하겠습니다. 학생의 번호와 점수입니다. #데이터 생성 num=list(range(1,11)) score=[78,62,65,94,71,97,57,83,71,96] md=pd.DataFrame({'num':num,'score':score}) >>> md num score 0 1 78 1 2 62 2 3 65 3 4 94 4 5 71 5 6 97 6 7 57 7 8 83 8 9 71 9 10 96 점수를 학점으로 변환해봅시다. 판다스의 cut 함수를 사용합니다. #점수를 학점으로 변환 md['score2']=pd.cut(..
2022. 2. 8.
[파이썬 판다스] 데이터프레임의 특정 값을 na 로 바꾸기 (replace)
시리즈를 하나 정의합시다. import pandas as pd import numpy as np >>> df1=pd.DataFrame({'C1':[1,2,3],'C2':[10,3,30],'C3':[100,200,300]},index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1 10 100 R2 2 3 200 R3 3 30 300 3을 na로 바꾸겠습니다. replace 메소드를 사용합니다. >>> df1.replace(3,np.nan) C1 C2 C3 R1 1.0 10.0 100 R2 2.0 NaN 200 R3 NaN 30.0 300 딕셔너리를 사용하면 여러 쌍의 교체도 가능합니다.
2022. 2. 7.
[파이썬 판다스] 데이터프레임에서 특정 열을 대문자 또는 소문자로 변경하기
판다스를 불러오고 결측치가 포함된 데이터프레임을 만들어줍니다. import pandas as pd df1=pd.DataFrame({'C1':['A','B','C','D'],'C2':['a','b','c','d'],'C3':['A','b','C','d']},index=['R1','R2','R3','R4']) >>> df1 C1 C2 C3 R1 A a A R2 B b b R3 C c C R4 D d d 첫번째 열을 소문자로 바꿔봅시다. str.lower 메소드를 사용합니다. >>> df1['C1'].str.lower() R1 a R2 b R3 c R4 d Name: C1, dtype: object 이번에는 두번째 열을 대문자로 바꿔봅시다. str.upper 메소드를 사용합니다. >>> df1['C2'].st..
2022. 1. 20.
[파이썬 판다스] 데이터프레임에서 중복 행 확인하고 제거하기
판다스를 불러오고 결측치가 포함된 데이터프레임을 만들어줍니다. import pandas as pd df1=pd.DataFrame({'C1':[1,2,3,3],'C2':[10,20,30,30],'C3':[100,200,300,300]},index=['R1','R2','R3','R3']) >>> df1 C1 C2 C3 R1 1 10 100 R2 2 20 200 R3 3 30 300 R3 3 30 300 3,4행이 겹칩니다. 중복행이 있는지 코드로도 확인해봅시다. duplicate 메소드를 사용합니다. >>> df1.duplicated() R1 False R2 False R3 False R3 True dtype: bool 4행이 겹친다고 말해줍니다. 중복행을 제거해봅시다. drop_duplicates 메소드를..
2022. 1. 19.
[파이썬 판다스] 데이터프레임에서 결측치를 원하는 값으로 채우기
판다스와 넘파이를 불러오고 결측치가 포함된 데이터프레임을 만들어줍니다. import numpy as np import pandas as pd df1=pd.DataFrame({'C1':[1,2,np.nan],'C2':[10,np.nan,30],'C3':[100,200,300]},index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1.0 10.0 100 R2 2.0 NaN 200 R3 NaN 30.0 300 결측값을 0으로 채워봅시다. fillna 메소드를 사용합니다. >>> df1.fillna(0) C1 C2 C3 R1 1.0 10.0 100 R2 2.0 0.0 200 R3 0.0 30.0 300
2022. 1. 14.
[파이썬 판다스] 데이터프레임에서 결측치 포함 행 또는 열 제거하기
판다스와 넘파이를 불러오고 결측치가 포함된 데이터프레임을 만들어줍니다. import numpy as np import pandas as pd df1=pd.DataFrame({'C1':[1,2,np.nan],'C2':[10,np.nan,30],'C3':[100,200,300]},index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1.0 10.0 100 R2 2.0 NaN 200 R3 NaN 30.0 300 결측치가 포함된 행을 제거할 때는 dropna 메소드를 사용합니다. axis=0 옵션이 디폴트이고, 행제거입니다. >>> df1.dropna() C1 C2 C3 R1 1.0 10.0 100 결측치가 포함된 열을 제거 할 때는 axis=1 옵션을 넣어주면 됩니다. >>> df1...
2022. 1. 14.
[파이썬 판다스] 데이터프레임에서 NaN 여부 확인 (True로)
판다스와 넘파이를 불러오고 결측치가 포함된 데이터프레임을 만들어줍니다. import numpy as np import pandas as pd df1=pd.DataFrame({'C1':[1,2,np.nan],'C2':[10,np.nan,30],'C3':[100,200,300]},index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1.0 10.0 100 R2 2.0 NaN 200 R3 NaN 30.0 300 결측치 여부를 확인하는 방법은 판다스의 isnull 함수 또는 메소드를 사용하면 됩니다. #함수사용 >>> pd.isnull(df1) C1 C2 C3 R1 False False False R2 False True False R3 True False False >>> df1.is..
2022. 1. 14.
[파이썬 판다스] 데이터프레임 행이름, 열이름 리스트로 추출
판다스를 불러오고 데이터프레임을 하나 정의합니다. import pandas as pd df1=pd.DataFrame({'C1':[1,2,3],'C2':[10,20,30],'C3':[100,200,300]},index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1 10 100 R2 2 20 200 R3 3 30 300 행 이름을 출력해봅시다. >>> list(df1.index) ['R1', 'R2', 'R3'] 열 이름을 출력해봅시다. >>> list(df1.columns) ['C1', 'C2', 'C3']
2022. 1. 12.
[파이썬 판다스] 데이터프레임 숫자로만 인덱싱 하는 법(iloc)
판다스를 불러오고 데이터프레임을 하나 정의합시다. import pandas as pd df1=pd.DataFrame({'C1':[1,2,3],'C2':[10,20,30],'C3':[100,200,300]},index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1 10 100 R2 2 20 200 R3 3 30 300 숫자(index)로 인덱싱 할 때는 iloc 메소드를 사용합니다. 1행 1열에 접근해봅시다. >>> df1.iloc[0,0] 1 1행 3열에 접근해봅시다. >>> df1.iloc[0,2] 100 1행의 1,2열에 접근해봅시다. >>> df1.iloc[0,0:2] C1 1 C2 10 Name: R1, dtype: int64 1행의 1,3열에 접근해봅시다. >>> df1..
2022. 1. 12.
[파이썬 판다스] 데이터프레임 각 열의 개수,평균,표준편차,최댓값,최솟값,분위수 출력
판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 각 열의 개수,평균..
2022. 1. 4.