머신러닝

내가 기억할려고 쓰는 numpy, pandas 유용한 기능 정리

수만이 2021. 11. 27. 00:59

1) numpy

arange() : 순차적인 ndarray를 만들 때 사용할 수 있다.

사용법 : np.arange()

→ 굳이 for문 돌려가며 만들 필요 없다.

ex) np.arange(5)을 하면 [0, 1, 2, 3, 4]의 ndarray를 반환해준다. 파이썬의 range와 비슷하게 돌아간다.

 

argsort() : 정렬된 행렬의 인덱스를 반환해준다.

사용법 : np.argsort()

→ 정렬한 다음에 굳이 for문 돌려서 인덱스를 따로 저장할 필요가 없음.

(이것 때문에 머리 좀 아파봤다. 미리 알았으면 좋았을 기능 중에 하나!..)

 

불린 인덱싱 : 조건 필터링과 검색을 동시에 할 수 있는 기능

사용법 : ndarray의 [ ] 내에 True/False를 반환하도록 조건문만 기재하면 된다.

ex) array[array>0] ,  그러면 0을 초과하는 array만 추출이 가능하다.

 

2) pandas

info() : 칼럼별로 데이터 개수, 타입, null 개수를 알려준다. 

사용법 : df.info()

→ 굳이 list로 바꿔서 len하고, print해서 확인할 필요 없음, 처음 df 만들고 데이터 확인할 때 유용하다.

 

describe() : count와 평균값, 표준편차 등등을 알려주는 메소드이다. 대략적인 분포도를 알 수 있다. 마찬가지로 처음 데이터 확인할 때 참고할 만하다.

사용법 : df.describe()

 

value_counts() : 해당 칼럼 별로 개수를 알 수 있음.

사용법 : df['해당칼럼이름']l.value_counts()

→ 굳이 조건문 써가면서 셀 필요 없다. 마찬가지로 이거 몰라서 노가다 함.

 

values.tolist() : df를 리스트로 변환

사용법 : df.values.tolist()

→ np.array()로 바꿔서 list로 바꿨던 거 같은데 이런 방법도 있었다.

 

sort_values() : 해당 칼럼을 기준으로 df 정렬

사용법 : df.sort_values(by=['해당칼럼이름'])

 

isna() : NaN인 데이터에 대해 true를 반환한다. 

사용법 : df.isna()

→ 보통 sum을 같이 사용해서 개수를 알 수 있다.

 

fillna() : NaN인 데이터를 다른 값으로  채워 넣는다.

사용법 : df.fillna('바꿀값', inplace=True)

 

apply() : lamda식을 적용할 수 있다. 코드를 깔끔하게 해 준다.

사용법 : df.apply(lamda ~)

ex) df.apply[lamda x : len(x))