이 기사는 데이터 과학 Blogathon
개요
귀여운 차트. Cutecharts는 차트에 더 개인적인 느낌을 주기에 완벽합니다. 차트를 덜 위협적으로 만들고 싶다면 한 숟가락의 단맛을 추가하면 귀여운 차트가 최선의 선택입니다.
일반 Matplotlib 및 Seaborn 라이브러리와 완전히 다르며 수제 차트를 살펴보고 차트에 마우스를 올려 놓으면 값이 표시됩니다. 귀여운 차트의 장점인 Matplotlib 차트에는 호버링 효과가 없습니다. 귀여운 차트로 차트를 만드는 것은 Seaborn에 비해 조금 더 길지만 표준 matplotlib 라이브러리보다 코드 수는 적습니다.
이 패키지는 다음과 같은 종류의 차트를 생성하는 데 사용할 수 있습니다. 현재 이 라이브러리는 막대형, 원형, 방사형, 분산형 및 선의 XNUMX가지 차트를 지원합니다.
큐트차트 설치
이 차트를 생성하려면 귀여운 차트 라이브러리를 설치해야 합니다.
!pip 설치 cutecharts
라이브러리 가져오기
cutecharts.charts를 ctc로 가져오기 pandas를 pd로 가져오기
데이터 세트
TMBD 데이터가 어떻게 보이는지 봅시다. 데이터에는 21개의 열이 있습니다.
df = pd.read_csv(r'tmdb-movies.csv') df.head(2)
데이터 설명
TMBD의 데이터는 kaggle에서 가져왔으며 EDA가 계획적으로 있는지 확인하려면 여기를 확인하십시오 – https://www.kaggle.com/kashishrastogi/eda-of-tmbd-dataset
- 인기: 영화 인기도를 지정하는 숫자 수량
- 예산 : 영화를 만든 예산입니다.
- 수익: 영화로 인해 발생한 전 세계 수익입니다.
- 원본 제목: 번역 또는 각색 전의 영화 제목.
- 출연 : 영화에서 역할을 맡은 배우 이름
- 홈페이지 : 영화의 홈페이지 링크입니다.
- 감독 : 영화를 연출한 감독 이름
- 표제: 영화의 제목입니다.
- 키워드 : 영화와 관련된 키워드 또는 태그입니다.
- 개요 : 영화에 대한 간략한 설명.
- 런타임 : 영화의 실행 시간(분)입니다.
- 장르 : 영화 장르 드라마, 액션, 코미디, 스릴러 등
- 제조업 회사: 영화의 제작사.
- 투표 수: 받은 투표 수입니다.
- 투표 평균: 영화가 받은 평균 평점.
날짜 시간
- 날짜 배포 : 영화가 개봉된 날짜입니다.
- 출시 년도 : 영화가 개봉된 연도입니다.
데이터 청소
먼저 데이터를 정리하면 귀여운 차트가 표시됩니다.
기능을 적절한 날짜-시간 형식으로 변경하고 더 많은 통찰력을 위해 인기 기능을 소수점 이하 2자리까지 반올림합니다.
df['출시_날짜'] = pd.to_datetime(df['출시_날짜']) df['인기'] = 라운드(df['인기'], 2)
그다지 필요하지 않은 기능 제거
df.drop(['imdb_id', '홈페이지', '예산_adj','revenue_adj'], axis=1, inplace=True)
기능 nan 값을 결측값으로 바꾸기
df['태그라인'].fillna('누락',inplace=True) df['키워드'].fillna('누락',inplace=True) df['생산_회사'].fillna('누락',inplace=True ) df['캐스트'].fillna('누락', 인플레이스=참) df['감독'].fillna('누락', 인플레이스=참) df['장르'].fillna('누락', 인플레이스= 참) df['개요'].fillna('누락',inplace=참)
예산 및 수익에서 0 값 삭제
df.drop(df[(df['예산']==0) & (df['수익']==0)].index, inplace=True)
이제 데이터가 깨끗해졌습니다. 이제 더 나아가 귀여운 차트를 만들 수 있습니다.
큐트 차트에 사용되는 매개변수
예를 들어 원하는 차트 이름을 지정하면 파이 차트가 필요하고 아래 코드를 실행합니다.
차트 = ctc.Pie()
추가해야 하는 차트의 제목, 너비 및 높이 설정 width, height
매개변수에서 예가 아래에 나와 있습니다.
차트 = ctc.Pie('제목', 너비='600픽셀', 높이='300픽셀')
사용할 차트 옵션 설정 set_options()
기능에 대한 예가 아래에 나와 있습니다.
차트.세트_옵션()
사용할 x 및 y 레이블 제목 설정 x_label
및 y_label
전달 set_options()
기능 예는 아래에 나와 있습니다.
chart.set_options(x_label='X 레이블', y_label='Y 레이블' , )
마지막으로 차트를 표시하는 함수를 사용합니다. render_notebook()
아래에 예가 나와 있습니다.
차트.render_notebook()
차트를 하나씩 살펴보겠습니다.
큐트차트를 이용한 파이차트
우리가 만들 차트는 도넛 차트입니다. 우리는 최고의 영화가 출시 된 상위 5 년을 볼 것입니다.
df_year = df['release_year'].value_counts().reset_index().sort_values(by='인덱스', 오름차순=False)[:5].rename(columns={'인덱스':'release_year','release_year' :'카운트'}) 차트 = ctc.Pie('상위 5년', 너비='600px', 높이='300px') chart.set_options(labels=list(df_year['release_year']), inner_radius=0) chart.add_series(list(df_year['Count'])) chart.render_notebook()
큐트차트를 이용한 도넛차트
우리가 만들 차트는 도넛 차트입니다. 우리는 최고의 영화가 출시 된 상위 5 년을 볼 것입니다.
df_year = df['release_year'].value_counts().reset_index().sort_values(by='인덱스', 오름차순=False)[:5].rename(columns={'인덱스':'release_year','release_year' :'카운트'}) 차트 = ctc.Pie('상위 5년', 너비='600px', 높이='300px') chart.set_options(labels=list(df_year['release_year']), inner_radius=0.8) chart.add_series(list(df_year['Count'])) chart.render_notebook()
모든 기능은 원형 차트에서 사용한 것과 동일합니다. inner_radius에서 추가 매개변수를 하나만 더 사용합니다. 도넛 차트의 내부 반경에 대해 0에서 1 사이의 값을 지정할 수 있습니다. 기본적으로 범례가 왼쪽 위 모서리에 있는 경우 upLeft, upRight, downLeft, downRight와 같은 범례 값을 지정할 수 있습니다.
아래 차트는 upRight 및 downLeft의 범례를 보여줍니다.
cutecharts를 사용한 막대형 차트
최고의 영화 장르를 살펴보자.
이 함수는 문자열을 분할하고 각 장르의 수를 반환합니다.
def count_genre(x): data_plot = df[x].str.cat(sep = '|') data = pd.Series(data_plot.split('|')) info = data.value_counts(ascending=False) 반환 정보
각 장르의 영화를 카운트하는 함수를 호출합니다.
df_genre_movies = count_genre('장르') df_genre_movies = pd.DataFrame(df_genre_movies).reset_index().rename(columns={'index':'드라마', 0:'Count'})
막대 차트용 코드
여기에서는 페이커 라이브러리를 가져와서 다양한 막대에 색상을 사용했습니다.
from cutecharts.faker import Faker chart = ctc.Bar('인기 영화 장르', width='600px', height='200px') chart.set_options(labels=list(df_genre_movies['Drama'][:7]), x_label='드라마', y_label='카운트', colors=Faker.colors ) chart.add_series('Geners',list(df_genre_movies['Count'][:7])) chart.render_notebook()
여기에 매개변수 색상을 하나 더 추가했습니다. set_options()
막대에 대해 다른 색상을 명시적으로 설정할 수 있습니다.
chart = ctc.Bar('인기 영화 장르', width='600px', height='200px') chart.set_options(labels=list(df_genre_movies['드라마'][:7]), x_label='드라마', y_label='개수', colors=['#FFF1C9', '#F7B7A3', '#EA5F89', '#9B3192', '#57167E', '#47B39C', '#00529B'] ) chart.add_series(' Geners',list(df_genre_movies['Count'][:7])) chart.render_notebook()
라인 차트 귀여운 차트를 사용하여
우리는 몇 년 동안 개봉된 영화의 수를 계산하고 20대에 있는 영화만 플롯할 것입니다.
데이터 = df.groupby('release_year').count()['id'].reset_index().tail(16)
20대를 배경으로 한 영화의 영향력을 찾기 위한 꺾은선형 차트 만들기.
chart = ctc.Line("20대에 걸친 영화의 영향", width='700px', height='200px') chart.set_options(labels=list(data['release_year']), x_label='Years' , y_label='개수', ) chart.add_series('연도',list(data['id'])) chart.render_notebook()
수년에 걸쳐 영화 개봉이 기하급수적으로 증가하고 있습니다.
분산 형 차트 귀여운 차트를 사용하여
예산 대비 인기도가 어떤지 살펴보고, 예산이 영화의 인기도 이상인지 아닌지 알아보자.
chart = ctc.Scatter("예산이 더 높은 영화의 인기도가 높은지 여부와 같은 통찰력을 얻는 데 도움이 됩니다.", width='700px', height='200px') chart.set_options(x_label='Popularity', y_label='Budget', dot_size=1, colors=['#47B39C'] ) chart.add_series('인기 대 예산', [(z[0], z[1]) for z in list(zip(df['popularity'],df) ['예산']))]) chart.render_notebook()
cutecharts를 사용한 레이더 차트
방사형 차트는 주로 다변수 값을 표시하는 데 사용되는 스파이더 차트라고도 합니다. 레이더 차트의 경우 오늘, 이번 주 및 지난 주 기능이 있는 커피 소비의 더미 데이터를 사용합니다.
data = {'요일': ['월', '화', '수', '목', '금', '토', '일'], '이번 주': [12, 10, 9, 9 , 10, 3, 3], '지난 주': [15, 12, 8, 9, 11, 4, 3] } df_coffee = pd.DataFrame(data, columns = ['일', '이번 주', ' 지난주'])
이번 주와 지난 주에 대한 일일 커피 소비량에 대한 레이더 차트를 살펴보겠습니다.
chart = ctc.Radar('하루에 소비되는 커피 잔') chart.set_options(labels=list(df_coffee['Day']), is_show_legend=True, legend_pos='upRight' ) chart.add_series('이번 주', list(df_coffee['이번 주'])) chart.add_series('지난 주', list(df_coffee['지난 주'])) chart.render_notebook()
EndNote
우리는 파이썬으로 만든 놀라운 손으로 쓴 귀여운 차트를 보았습니다. 이 패키지의 제한은 5개의 차트만 제공한다는 것입니다.
이미지 소스
- 이미지 1: https://unsplash.com/photos/jrh5lAq-mIs
이 기사에 표시된 미디어는 Analytics Vidhya의 소유가 아니며 작성자의 재량에 따라 사용됩니다.
PlatoAi. Web3 재창조. 데이터 인텔리전스 증폭.
액세스하려면 여기를 클릭하십시오.