[28일차]DataFrame기초 - 과제

김준석·2024년 1월 4일
post-thumbnail

판다스 참조

import pandas as pd

파일 참조 imdb_top_1000.scv / 데이터프레임 형태로

movie_df = pd.read_csv('imdb_top_1000.csv')
movie_df = pd.DataFrame(movie_df)
movie_df

Untitled

필요한 열만 가져오기

아래 순서로 열이 정렬되어야 된다.

Untitled

movie_df = movie_df[['Genre','Series_Title','Released_Year','IMDB_Rating','Meta_score','Director','No_of_Votes','Gross']]
movie_df

Untitled

강의 풀이

cols = ['Genre','Series_Title','Released_Year','IMDB_Rating','Meta_score','Director','No_of_Votes','Gross']
movie_df = pd.read_csv('imdb_top_1000.csv', usecols =cols)

movie_df = movie_df[cols]

데이터 프레임 정보를 확인

각 dtype과 null 여부를 확인한다.

movie_df.info()

Untitled

Top1000에 들어간 영화에서 가장 많은 장르 5개 확인

movie_df.value_counts('Genre').head(5)

Untitled

수익이 측정이 안된 영화는 제외하여 저장

Meta_score는 NA여도 삭제하지 않는다.

movie_df = movie_df.dropna(subset='Gross')
movie_df

Untitled

‘Meta_score’메타스코어 평균을 확인합니다.

movie_df['Meta_score'].mean()

Untitled

부연설명

Untitled

mean() 의 인자 중 skipna= 의 기본 값은 True이기 때문에 결측값은 빼고 가져옴.

가장 수익을 많이 낸 영화 Top1을 찾습니다.

힌트 : 현재 수익을 나타내는 Gross의 dtype을 주의하자

힌트 : 문자열은 크기 정렬이 안된다.

1.먼저 콤마를 제거 해준다.

movie_df['Gross'] = movie_df['Gross'].str.replace(',','')
movie_df

Untitled

2.astype() 을 이용해서 타입을 정수형으로 변환

movie_df['Gross'] = movie_df['Gross'].astype('int64')
movie_df.info()

Untitled

3.수익이 가장많은 영화 찾기

movie_df.nlargest(n = 1, columns='Gross')

Untitled

가장 수익을 많이 낸 영화 Top10을 확인해봅시다.

movie_df.nlargest(n = 10, columns='Gross')

Untitled

가장 수익을 많이 낸 영화 Top100의 장르 개수를 확인해봅시다.

내가 푼 코드는 이건데 아마 아닌것 같다.. 그래도 정답은 나옴.

a = movie_df.nlargest(n = 100, columns='Gross')
a.value_counts('Genre')

Untitled

강의 풀이

대박… 이렇게 써도 되는구나..

movie_df.nlargest(n = 100, columns='Gross').value_counts('Genre')

Untitled

가장 수익이 적은 영화 Top1

movie_df.nsmallest(n = 1, columns='Gross')

Untitled

가장 수익이 적은 영화 Top10

movie_df.nsmallest(n = 10, columns='Gross')

Untitled

현재 데이터 프레임의 숫자 관련 집계 통계를 확인

movie_df.describe()

Untitled

현재 데이터 프레임의 문자열 관련 집계 통계를 확인

movie_df.describe(include = 'O')

Untitled

현재 데이터 프레임의 가능한 모든 집계 통계를 확인

movie_df.describe(include = 'all')

Untitled

인덱스를 영화 이름으로 설정

movie_df.set_index('Series_Title', inplace =True)
movie_df.index.name = 'Title'

Untitled

0개의 댓글