강의실/머신러닝

[딥러닝파이썬] 02-3.파이썬의 Pandas를 다뤄 보자.

파아란기쁨 2022. 5. 19. 14:00
map 사용하기

- Series 에서는 map 함수를 사용할 수 있다.

from pandas import Series,DataFrame
import pandas as pd
import numpy as np

s1 = Series(np.arange(3),index=["row1","row2","row3"])
print(s1)
print(s1.map(lambda x : x*2)) # s1을 2배 한 수 출력
dic = {1:'A',0:'B'}
print(s1.map(dic)) #딕셔너리를 이용해서 해당 키값과 같으면 value로 변경 단,없으면 NaN

unique 사용하기

: unique 값만 추출하기

from pandas import Series,DataFrame
import pandas as pd
import numpy as np

s1 = Series([1,1,2])
print(s1)
print(s1.unique()) # Series의 unique
df1 = DataFrame([[1,2,3],[1,2,3],[3,2,1]],columns=["col1","col2","col3"],index=["row1","row2","row3"])
print(df1)
print(df1.col1.unique()) #col1 의 unique
print(df1["col1"].unique()) #col1 의 unique
print(df1.loc["row1"].unique()) #row1 의 unique
print(df1.iloc[0].unique())     #row1 의 unique

replace

: map 함수의 기능중에서 데이터 변환만 담당

from pandas import Series,DataFrame
import pandas as pd
import numpy as np


df1 = DataFrame([[1,2,3],[1,2,3],[3,2,1]],columns=["col1","col2","col3"],index=["row1","row2","row3"])
print(df1)
print(df1.col1.replace({1:"A",2:"B",3:"C"})) #col1 값 변경
print(df1) #df1의 값은 남아 있다.
df1.col1.replace({1:"A",2:"B",3:"C"},inplace=True) #메모리값을 변경
print(df1) #df1의 값이 변경 되었다

apply 

: Series 전체에 해당 함수가 적용된다.

from pandas import Series,DataFrame
import pandas as pd
import numpy as np


df1 = DataFrame([[1,2,3],[1,2,3],[3,2,1]],columns=["col1","col2","col3"],index=["row1","row2","row3"])
print(df1)
f=lambda x : x.mean() #평균 값을 추출하자
print(df1.apply(f))
f=lambda x: -x
print(df1["col1"].apply(f))

describe

- Numeric type 데이터의 요약정보를 보여줌

from pandas import Series,DataFrame
import pandas as pd
import numpy as np


df1 = DataFrame([[1,2,3],[1,2,3],[3,2,1]],columns=["col1","col2","col3"],index=["row1","row2","row3"])
print(df1)
print(df1.describe())

isnull

: NaN 값의 여부 를 반환함

from pandas import Series,DataFrame
import pandas as pd
data = {"이름":["홍길동","이순신","강감찬","유관순"],
        "나이":[10,20,30,40],
        "몸무게":[40.5,72.1,91.3,50.1]}
df = pd.DataFrame(data,columns=["이름","나이","몸무게","키"])
print(df)            
print(df.isnull())       #null 인지 아닌지 판단
print(df.isnull().sum()) #null 의 갯수

sort_values 

: Column 을 기준으로 데이터를 소트

from pandas import Series,DataFrame
import pandas as pd
data = {"이름":["홍길동","이순신","강감찬","유관순"],
        "나이":[20,10,30,40],
        "몸무게":[40.5,40.5,91.3,50.1]}
df = pd.DataFrame(data,columns=["이름","나이","몸무게","키"])
print(df)            
print(df.sort_values(["몸무게","나이"]))       #몸무게,나이 순으로 오름차순
print(df.sort_values(["몸무게","나이"],ascending=False))       #몸무게,나이 순으로 내림차순

corr 

: 상관계수를 구하는 함수(상관계수는 두 변수 사이의 직선 관계를 나타내는 지표로 -1~1 까지의 값이 나타난다.)

from pandas import Series,DataFrame
import pandas as pd
data = {"이름":["홍길동","이순신","강감찬","유관순"],
        "나이":[20,10,30,40],
        "몸무게":[40.5,40.5,91.3,50.1]}
df = pd.DataFrame(data,columns=["이름","나이","몸무게","키"])
print(df)    
print(df.나이.corr(df.몸무게)) #나이와 몸무게의 상관관계를 확인하자

cov

: 공분산을 구하는 함수(공분산은 2개의 연속형변수의 관계성을 확인하는 통계량)

from pandas import Series,DataFrame
import pandas as pd
data = {"이름":["홍길동","이순신","강감찬","유관순"],
        "나이":[20,10,30,40],
        "몸무게":[40.5,40.5,91.3,50.1]}
df = pd.DataFrame(data,columns=["이름","나이","몸무게","키"])
print(df)    
print(df.나이.cov(df.몸무게)) #나이와 몸무게의 공분산을 확인하자

corr

: 상관계수를 구하는 함수(두 변수 사이의 상관관계이 정도를 나타내는 수치)

from pandas import Series,DataFrame
import pandas as pd
data = {"이름":["홍길동","이순신","강감찬","유관순"],
        "나이":[20,10,30,40],
        "몸무게":[40.5,40.5,91.3,50.1]}
df = pd.DataFrame(data,columns=["이름","나이","몸무게","키"])
print(df)    
print(df.나이.corr(df.몸무게)) #나이와 몸무게의 상관계수을 확인하자

 


이 문서는 학생들과 함께 딥러닝 공부를 하기 위해 만든 문서이며~

딥러닝 공부 전에 Numpy와 Pandas 의 기본을 알고 머신러닝을 공부하면 대부분의 머신러닝 소스코드들을 바라보는데 이해의 폭이 넓어질 것 같아서 이론 후 실습 전에 Numpy와 Pandas 의 기본 문법들을 정리해 보았습니다.

 

더욱 자세한 내용은 데이터 사이언스 스쿨을 참고하시면 많은 정보를 얻으 실 수 있을것 같습니다.

 

[참고]

https://datascienceschool.net/intro.html

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 사이버몰의 이용약관 바로가기
1 2 3 4 5 6 7 8 ··· 27