[Pandas Built-in Functions]
2020. 12. 29. 20:37ㆍ[TIPs]/Pandas
view small sample : head() & tail()
# default로 처음 5개 row 출력 or head(n)로 처음 n 개 row 출력
df.head()
# default로 마지막 5개 row 출력 or tail(n)로 마지막 n 개 row 출력
df.tail()
view NaN : isnull()
# 모든 데이터 값 중 NaN이 있으면 True, 아니면 False 반환
df.isnull()
# 각 column의 NaN 개수의 합 반환
df.isnull().sum()
replace NaN : fillna()
# NaN값을 n으로 대체
df.fillna(n)
# NaN값을 0으로 대체
df.fillna(0) :
locate row : iloc[][]
# specific row + specific column 반환
df.iloc[row][column] :
# ex.
df.iloc[22][1:]
# ==> returns row(index 22) & col(index 1~마지막까지) 반환
replace a to b : replace()
# 'object' 형태를 'int' 형태로 바꾸기 전 거쳐야될 단계
# ex.
testString = '25,970'
testString.replace(',','')
# ==> returns 25970
apply function in a column : apply()
# 특정 함수 fn
# ex.
df['자산'] = df['자산'].apply(fn)
# ==> returns 자산 column안에 있는 모든 element에 fn 적용
add different dataframes : concat()
# concat by rows (axis= 0 안 써도 됨)
pd.concat([df1,df2], axis= 0)
# concat by columns
pd.concat([df1,df2],axis=1)
# NaN값 발생할 수도 있음
merge two dataframes : merge()
# how : {'inner','outer','left','right',etc}
# ex.
pd.merge(df1,df2,how = '위에 것 중 필요한 것 선택', on=['feature'])
# ==> returns df1 & df2 간 ['feature'] column을 바탕으로 how method 수행
# inner : df1 & df2 중 공통 부분만 포함
# outer : df1 & df2 다 포함
# left : 무조건 df1을 기준
# right : 무조건 df2을 기준
grouping based on specific columns : groupby()
# gender로 묶은 후 number 형인 각 column의 mean 을 구함 (이 때 gender column 이 index가 된다)
df.groupby('gender').mean()
# gender로 묶은 후 number 형인 height column의 mean을 구함
df.groupby('gender').height.mean()
into tidy format : melt()
# ex.
df.melt(id_vars='a', var_name = '2', value_name = '3')
# 쉽게 표현하자면..
a b c
a1 b1 c1 ==> melt
a2 b2 c2
1 2 3
a1 b b1
a2 b b2
a1 c c1
a2 c c2
# 이 때 주의할 점은 id_vars 에 index 자체가 들어가면 안됨
# 필요하다면 df.reset_index() 후 melt 적용!
count values : value_counts()
# ex)
df['gender'].value_counts()
# ==> returns 'gender' column에 있는 man & woman 의 총 갯수를 반환
find starting with specific texts : str.startswith()
# Ex) 'game_date' 의 '2014'로 시작하는 data만 추출하기
df['game_date'][df['game_date'].str.startswith('2014')]
728x90