티스토리 뷰

큰일이다. 수업이 너무 어려웠다.

코드박사가 될 때까지 죽어라 연습하는게 목표였는데

그냥 코 박고 죽게 생겼다..

 

처음부터 끝까지 하기에는 시간이...항상 부족하니

몇 가지 꼭!!! 익힐 것만 추려서 익히고 떠나야겠다.

 

 

 

 

 

#1) 데이터 전처리 !!   (목표 : 금주 과제를 통해 완전히 익히기 !! )

  1. 데이터(파일) 불러오기 : pd.read_csv('~~.csv'), glob('~~/*.csv')
  2. 결측치 제거하기 : df.drop_duplicates()
  3. 요약정보 확인하기 : df.info()
  4. 컬럼별 결측치 개수 구하기 : df.isnull().sum()
  5. 사용할 컬럼만 꺼내기 : df.columns = [ ]
                                       근데 cols=[ ]로 먼저 묶어주고, df[cols].copy() 하여 깊은복사 해주는게 더 좋음.
  6. 특정 컬럼의 결측치 제거하기 : df = df[df["컬럼명"].notnull()].copy()
  7. 특정 컬럼의 유일값 개수 구하기 : df["컬럼명"].nunique()
  8. 특정 내용이 있는 행 출력하기 : list = ['내용리스트'] , df[df["특정컬럼"].isin(list)]

 

 

 

 

#2) crosstab(), pivot_table(), groupby() 마스터하기 ! 

※ DataFrame 예시

 

 

 

 

 

 

여기 'students'라는 이름을 가진 데이터 프레임이 있다.학급별 남,녀 인원수를 'gender' 데이터프레임으로 만들어 보겠다.

 

 

 

 

 

 

 

1. crosstab() 사용하기

gender = pd.crosstab(
		index=students['학급명'],
        columns=students['성별'])
gender["합계"] = gender.sum(axis='columns')
gender

  • '합계' 컬럼을 sum으로 따로 만들어주지 않고 margins를 이용해서 쉽게 만들 수도 있다.
  • margins는 각 행과 열의 총합을 계산해준다.
gender = pd.crosstab(
        index=students['학급명'],
        columns=students['성별'],
        margins=True, margins_name="합계")
gender

 

2. pivot_table() 사용하기

gender = students.pivot_table(
		index='학급명',
        columns='성별',
        values='이름',
        aggfunc='count',
        fill_value=0,
        margins=True, margins_name="합계")
gender

 

3. groupby() 사용하기

gender = students.groupby(
		['학급명', '성별'])['이름'].count().unstack().fillna(0).astype(int)
gender["합계"] = gender.sum(axis=1)
gender

  • unstack() : 나열된 정보들을 칸에 정리해서 넣어줌.

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함