728x90
반응형
Numpy, Pandas 함수
오늘은 Numpy와 Pandas에서 자주 쓰거나 헷갈리는 함수들을 정리해보았습니다.
Numpy
Numpy 집계함수
- .argmax( ) : 모든 요소 중 최대값의 인덱스
- .cumsum( ) : 모든 요소의 누적합
Numpy 크기 변경
- .ravel( ): 1 차원으로 변경
- .T : 전치(Transpose) 변환
Numpy 데이터 합치기
- np.vstack( ): axis=0(열) 기준으로 쌓음
- np.hstack( ): axis=1(행) 기준으로 쌓음
Numpy 데이터 쪼개기
- np.hsplit( )을 통해 숫자 1 개가 들어갈 경우, X개로 등분
- np.hsplit( )을 통해 리스트로 넣을 경우, axis=1 기준 인덱스로 데이터를 분할
ex) a =[[0 1 2 3 4 5]
[6 7 8 9 10 11]]
np.hsplit(a, 3) -> [0, 1] [2, 3] [ 4, 5] [2, 2] 데이터 3개로 등분
[6, 7] [8, 9] [10, 11]
np.hsplit(a, (3, 4)) --> [0, 1] [2] [3, 4, 5 ] 3번째 열을 기준으로 좌 우로 분할
[6, 7] [8] [9, 10, 11]
Pandas
- .isin( ) : 각각의 요소가 데이터프레임 또는 시리즈에 존재하는지 파악하여 True/False 값 반환
Pandas 데이터 통계
- .agg( ) : 여러개의 열에 다양한 함수를 적용
- 모든열에 여러 함수를 매핑 : group객체.agg([함수1, 함수2, 함수3, …])
- 각 열마다 다른 함수를 매핑 : group객체.agg({‘열1’: 함수1, ‘열2’: 함수2, …})
print(titanic.agg({"Age" : ["min", "max", "median", "std"],
"Fare" : ["min", "max", "mean", "median"]}))
- .groupby( ) : 그룹별 집계
- .value_counts( ) : 값의 개수
- .sort_values( ) : 열을 기준으로 정렬
Pandas 데이터프레임 합치기
- .sort_values( ) : 열을 기준으로 정렬
- pd.merge(df1, df2, on="A", how="outer") : “A”(공통 열)을 기준으로 df1과 df2를 outer hoin
- pd.concat([df1, df2,] , axis=0) : 행 방향으로 인덱스 이어 붙임(Default : axis =0)
Pivot Table을 통해 데이터 살펴보기
- Pivot_table
# 성별을 기준으로 생존률 파악 --> Mean vs Sum
pd.pivot_table(data=titanic, index=["Sex"], values=["Survived"], aggfunc=["sum", "mean", "count"])
Pivot_table 함수를 사용하여 데이터프레임에서 피봇 테이블을 만들 수 있습니다. 위 코드에서는 titanic 데이터프레임을 사용하여 "성별"을 기준으로 "생존 여부"를 파악하며, "생존 여부" 열을 값으로 사용합니다. aggfunc 파라미터를 사용하여 "sum", "mean", "count" 함수를 사용하여 총 생존자 수, 생존률, 그리고 총 인원 수를 구합니다.
결과:
sum mean count
Survived Survived Survived
Sex
female 233 0.742038 314
male 109 0.188908 577
728x90
반응형
'Pandas, Numpy' 카테고리의 다른 글
| 클래스에 대해 알아보자. (0) | 2023.08.03 |
|---|---|
| 리스트(List)의 인덱싱과 슬라이싱에 대해 알아보자. (0) | 2023.07.28 |
| Python으로 구해보는 기초통계량(산술평균, 기하평균) (0) | 2023.07.21 |