DataFrame Functions

데이터 분포 변환
대부분의 모델은 변수가 특정 분포를 따른다는 가정을 기반으로 한다. 예를 들어 선형 모델의 경우, 종속변수가 정규분포와 유사할 경우 성능이 높아지는 것으로 알려져 있다. 자주 쓰이는 방법은 Log, Exp, Sqrt 등 함수를 이용해 데이터 분포를 변환하는 것이다.
1
2
3
4
5
6
7
8
9
import math
from sklearn import preprocessing

# 특정 변수에만 함수 적용
df['X_log'] = preprocessing.scale(np.log(df['X']+1)) # 로그
df['X_sqrt'] = preprocessing.scale(np.sqrt(df['X']+1)) # 제곱근

# 데이터 프레임 전체에 함수 적용 (단, 숫자형 변수만 있어야 함)
df_log = df.apply(lambda x: np.log(x+1))
중복된 행 제거
위, 아래 행이 모두 같은 성분을 가지는 행이 여러개 있을때, 하나만 사용하기(데이터프레임)
중복된 행이 제거되고 unique한 값만 가져올 수 있다.
1
2
3
df.drop_duplicates()

df.drop_duplicated() 는 boolean값으로 반환!
1
2
df['name'] = df['name'].apply(lambda e: e.split()[0])
df['email'].str.get(i=0) 데이터프레임이나 시리즈형식에서 문자를 나누고 [0]번째 문자만 가져오기
데이터 프레임 모든 열에 특정 스칼라값 or 특정 컬럼.value 연산
1
df[컬럼명] *= (스칼라값)  / 해당 데이터프레임 컬럼이 와도 됨
1
df[컬럼명] = df[컬럼명].div(스칼라값 or 컬럼, axis=0)
1
2


a=10, b=20, c=3

Operator Description Example
+ 더하기 a + b 30
- 빼기 a - b -10
* 곱하기 a * b 200
/ 나누기 b / a 2.0
% 나머지 b % a 0
** 제곱 a ** c 1000
// 몫 a // c 3

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

Comments

You forgot to set the shortname for Disqus. Please set it in _config.yml.