[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.)