본문 바로가기

ML/ML-함수관련10

type annotation, type hint 보통 파이썬은 타입을 명시하지 않는다. 동적 프로그래밍 언어인 파이썬은 이 변수의 타입을 추론해서 만들어주기 때문에 개발자는 편하게 코드를 축소해서 짤 수 있다. 보통 n=1을 하면 파이썬은 '아 int형이구나' 라고 알아 듣고, n='1'을 하면 '아 string형이구나' 하고 알아 듣는다. 하지만 프로젝트의 규모가 커지고 코드를 봐야하는 사람들이 많아지면 문제가 발생한다. 이 변수가 어떤 타입인지를 모르기 때문에 치명적인 버그로 이어질 확률이 높아지며 안정성에 위협이 되는 요소가 된다. 그렇기에 사람들은 타입 힌트(type hint)란 걸 명시했다. 처음엔 # int형임 이런 식으로 했지만 점차 파이썬 버전이 업그레이드 되면서 표준화되었다. 이것이 type annotation이다. 간단하다. 변수 이.. 2022. 2. 4.
df.select_dtypes() - 데이터프레임에서 타입별로 불러오기 df안에는 다양한 타입들이 존재한다. int, float, object, bool 등 다양하다. 거기서 내가 원하는 타입만 불러오고 싶을 때 이 함수를 쓰면된다. 먼저 df안에있는 col들의 타입을 알아봐야된다. df.dtypes 이것은 내가 지금 데이콘에서 수행하고 있는 데이터셋이다. 여기서 보면 다양한 type들이 나온다. 이제 타입별로 불러와보자. # int형 col만 불러온다. df.select_dtypes(int) # bool형만 불러온다. df.select_dtypes(bool) # object형만 불러온다. df.select_dtypes(object) 2022. 2. 4.
명목변수 내 인자 확인, 수, 갯수 - df.unique(), nunique(), value_counts() 과일이란 컬럼안에 사과, 배, 귤 등등이 있다. 이 때 이 과일컬럼 내에 어떤 요소들이 있는지 확인하는 방법 df['과일'].unique() 결과로 사과, 배, 귤이 나온다. 범주형 변수에서 어떤 인자가 있는지 중복되지 않고 보여준다. 이제 고유한 인자들이 몇개인지를 확인할 때, df['과일'].nunique() 결과로 3 이 나온다. 사과, 배, 귤로 총 3개인 것을 알 수 있다. 마지막으로 이 고유값들이 df안에 얼마나 들어있는지 확인할 때, df['과일'].value_counts(ascending=True) # ascending은 결과를 오름차순으로 보여준다. 이러면 사과는 몇개가 있고 배는 몇개, 귤은 몇개로 나타난다. 2022. 1. 4.
count, mean, std, min , 1 분위수, 2 분위수, 3 분위수, max 출력함수 df.describe() 2022. 1. 3.
연속형 변수 -> 범주형 변수로 바꾸기 - df.apply(), pd.cut() 1. df.apply() def func(x): if x < 3: return 'lowest' elif x < 3.3: return 'low' elif x < 3.5: return 'normal' else : return'high' train['pH'] = train['pH'].apply(lambda x : func(x)) 2. pd.cut() & pd.qcut() 인자로 데이터, 구간의 갯수, 레이블명 구간의 갯수는 5개로 설정하여 1,2,3,4,5가 된다. labels=False로 설정할 시 그대로 숫자가 넣어지고 만약 labels=['a','b','c','d','e'] 일 경우 숫자 대신 리스트의 값이 넣어진다. cut은 레이블의 범위가 같다. qcut은 갯수가 같다. 만약 0과 99사이의 값을 3.. 2021. 12. 29.
올림, 내림, 반올림 함수 # math.ceil()함수 : 무조건 소수점 자리를 올린다. ex) ceil(99.2) => 100 # math.floor()함수 : 무조건 소수점 자리를 내린다. ex)floor(99.2) => 99 # math.round()함수 : 소수점을 반올림한다. 2021. 12. 29.
데이터프레임 열 또는 행에 함수 적용하기 - df.apply() 보호되어 있는 글 입니다. 2021. 12. 29.
DataFrame 열 또는 행별 최빈값 확인 - df.mode() df1=df.mode() print(df1) # 최빈값 = 가장 자주 나오는 값 # 인자로는 # axis = 0('index')과 1('columns'), 0은 열이고 1은 행에서 기본값은 0이다. # numeric_only = bool, 기본값은 False로 True인 경우 숫자열이나 행에만 적용됨. # dropna : bool, 기본값은 True. NaN/NaT를 고려하지 않는다. # ~.mode(axis=0, numeric_only=False, dropna=True) 2021. 10. 9.
random_state=1 scikit learn에서 사용하는 random_state인자는 수행시마다 동일한 결과를 얻기 위해 사용한다. 즉 seed를 설정한 것이다. 보통 랜덤으로 먼가를 추출하거나 split 할 때 설정하는데 이렇게 해놓으면 random_state 번호가 같은 것끼리는 그대로 사용이 가능하다. 즉 기냥 고유 번호를 설정해준 것과 같은 의미 2021. 9. 29.