[AI 온라인 교육] 데이터 조작 및 분석을 위한 Pandas 심화
데이터프레임 정렬하기
1. Index 값 기준으로 정렬하기
- 
axis = 0 : 행 인덱스 기준 정렬 (Default 오름차순) 
- 
axis - 1 : 열 인덱스 기준 정렬 
- 
ascending = True : 오름차순, ascending = False: 내림차순 df = df.sort_index(axis = 0)
 df = df.sort_index(axis = 1, ascending = False)
- 
Column값 기준으로 정렬하기 
 df = df.sort_values('col1', ascending = True)→ col1 컬럼 기준 정렬 (Default 오름차순) df = df.sort_values(['col2', 'col1'], ascending = [True, False])→ col2 컬럼 기준 오름차순 정렬 후 col1 컬럼 기준 내림차순 정렬 
 
데이터프레임 분석용 함수
- 
count : 데이터 개수 확인 (Default: Nan값 제외) 
- 
max, min : 최대, 최소값 확인 가능 (Default:열 기준, Nan값 제외) 
- 
sum, mean : 합계 및 평균 계산 (Default:열 기준, Nan값 제외) 
 → axis : 행, 열 기준 // skipna : True (NaN 무시) / False (NaN 포함)
 🌕 NaN값이 존재하는 column의 평균을 구하여 NaN값으로 대체하기 ... B_avg = df['math'].mean() df['math'] = df['math'].fillna(B_avg) df.mean(axis = 1, skipna = False
그룹으로 묶기
- 
group by : 조건부로 집계하고 싶은 경우 df = pd.DataFrame({'data1' : range(6), 'data2': [4,4,6,0,6,1], 'key':['A','B','C','A','B','C']}) df.groupby('key').sum() df.groupby(['key','data1']).sum()
- 
aggregate : groupby를 통해서 집계를 한번에 계산하는 방법 df.groupby('key').aggregate(['min', np.median, max]) df.groupby('key').aggregate({'data1':'min', 'data2': np.sum})
- 
filter : groupby를 통해서 그룹 속성을 기준으로 데이터 필터링 def filter_by_mean(x): return x['data2'].mean() >3 df.groupby('key').mean() df.groupby('key').filter(filter_by_mean)
- 
apply.lambda : groupby를 통해서 묶인 데이터에 함수적용 df.groupby('key').apply(lambda x: x.max() - x.min())
- 
get_group: groupby로 묶인 데이터레엇 key값으로 데이터를 가져올 수 있다. df.read_csv("./univ.csv") # 상위 5개 데이터 df.head() ## 데이터 추출 df.groupby("시도").ger_group("충남") len(df.groupby("시도").ger_group("충남")) # 개수
Author And Source
이 문제에 관하여([AI 온라인 교육] 데이터 조작 및 분석을 위한 Pandas 심화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yeah7598/AI-온라인-교육-데이터-조작-및-분석을-위한-Pandas-심화저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)