-
국내 신용카드사(신한카드, 삼성카드, 현대카드 etc) 데이터 분석 With Python #1 - 신용카드 업종 종사 임직원 수Data Analysis/Investment 2021. 3. 25. 22:26
1. 개요
이번 포스팅을 시작으로 공공데이터 오픈 API를 활용한 국내 신용카드 기업 분석을 시작하도록 하겠다. 주식을 하는 입장에서 이런 데이터를 분석함으로써 투자를 하는 데 있어 인사이트를 얻었으면 한다. 오늘 분석에 활용될 데이터는 아래 공공데이터 링크에서 확인이 가능하다.
오늘 포스팅은 우선 신용카드사별 임직원 수 데이터를 가져와서 분석하도록 하겠다.
data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15061308
2. 데이터 가져오기
from urllib.request import urlopen from urllib.parse import urlencode, unquote, quote_plus import urllib import requests import pandas as pd import xmltodict import json from datetime import datetime as dt import requests key='~~~' url=f'http://apis.data.go.kr/1160100/service/GetCredCardCompInfoService/getCredCardCompGeneInfo?serviceKey={key}&' queryParams =urlencode({quote_plus('pageNo') : '1',quote_plus('numOfRows') : '1000', quote_plus('resultType') : 'xml',quote_plus('title') : '신용카드_일반현황_임직원현황', quote_plus('basYm') : '202012' }) url2=url+queryParams response = urlopen(url2) results = response.read().decode("utf-8") results_to_json = xmltodict.parse(results) data = json.loads(json.dumps(results_to_json)) df=pd.DataFrame(data['response']['body']['table']['items']['item']) df=df[df['fncoNm']!='신용카드사'] df=df.rename(columns={'fncoNm':'카드사','xcsmCnt':'수','xcsmDcdNm':'유형'}) groups=pd.DataFrame(df.groupby(['카드사','유형']).sum()['수']).reset_index() groups=groups.pivot('카드사','유형','수') groups=groups.astype(int)
위 코드가 문제 없이 돌아간다면 아래와 같이 신용카드 기업, 직원 유형별 수치 데이터를 확인해 볼 수 있다.
3. 신용카드사별 총 임직원, 임원 수 현황(2020년 12월 기준)
위에서 추출한 데이터 중 임직원과 임원 수를 갖고 시각화 해보도록 사겠다.
import seaborn as sns import matplotlib.pyplot as plt plt.rcParams["font.family"] = 'Malgun Gothic' fig, ax = plt.subplots(1,1, figsize=(18, 8)) ax.bar(groups.index, groups['총임직원'], width=0.55, color='#004c70', alpha=0.8, label='총임직원') ax.bar(groups.index, groups['임원'], width=0.55, color='#990000', alpha=0.8, label='임원') # ax.set_ylim(0,1600,400) for i in groups.index: ax.annotate(f"{groups['총임직원'][i]}", xy=(list(groups.index).index(i), groups['총임직원'][i]+100), va = 'center', ha='center',fontweight='light', fontfamily='serif', color='#4a4a4a') for i in groups.index: ax.annotate(f"{groups['임원'][i]}", xy=(list(groups.index).index(i), groups['임원'][i]+50), va = 'center', ha='center',fontweight='heavy', fontfamily='serif', color='#4a4a4a') for s in ['top', 'left', 'right', 'bottom']: ax.spines[s].set_visible(False) ax.set_xticklabels(groups.index, fontfamily='Malgun Gothic') ax.legend() fig.text(0.16, 0.95, '국내 신용카드사별 총임직원 수와 임원 수 현황', fontsize=15, fontweight='bold', fontfamily='Malgun Gothic')
아래 차트와 같이 총 임직원 수에서는 신한카드, 삼성카드, 현대카드 순으로 높은 점을 확인할 수 있다. 반대로 임원에서는 롯데카드, 삼성카드가 30명으로 가장 많았다.
아래 그래프는 Plotly를 통해서 신용카드사별 임직원 수 비중을 반응형 차트로 시각화해보았다.
import plotly.express as px total=groups['총임직원'].sum() groups['share']=groups['총임직원'].apply(lambda x:x/total) groups['share']=groups['총임직원'].apply(lambda x:x/total) card={'신한카드㈜':'shinhan','삼성카드㈜':'ss','현대카드㈜':'hy','㈜케이비국민카드':'kb','롯데카드㈜':'lotte', '㈜우리카드':'woori','비씨카드㈜':'bc','하나카드㈜':'hana'} card_eng=pd.DataFrame.from_dict(card,orient='index').reset_index() final=pd.merge(left=groups,right=card_eng,left_on=groups['카드사'],right_on=card_eng['index'],how='inner') final=final.rename(columns={0:'eng'}) fig = px.pie(final, values=final['share'], names=final['eng'], title='신용카드사 종사 임직원 비중') fig.show() ff=fig.to_json() for x,y in zip(final['eng'], final['카드사']): ff = ff.replace(x, y)
4. 신용카드사별 정규직, 비정규직 비율(2020년 12월 기준)
마지막으로 신용카드사 별 정규직과 비정규직 간 비중을 비교해보도록 하겠다.
import plotly.express as px fig = px.bar(final, x=final['eng'],y=['정규직 비율','비정규직 비율'], title="Wide-Form Input") fig.show() jj=fig.to_json() for x,y in zip(final['eng'], final['카드사']): jj = jj.replace(x, y)
아래 그래프와 같이 비정규직 비중은 현대카드사가 가장 많았고, 케이비국민카드에서 정규직 비중이 가장 높은 점을 확인할 수 있다.
다음 포스팅에서는 카드사별 재무 데이터를 사용해서 분석하도록 하겠다.
'Data Analysis > Investment' 카테고리의 다른 글
국내 시중 은행 통계 데이터 분석 #1-1 - 인터넷 전문은행 카카오뱅크 임직원 수 현황 (0) 2021.04.04 국내 시중 은행(신한은행, 국민은행, etc) 통계 분석 #1 - 은행 종사 임직원 수 (0) 2021.04.03 파이썬으로 주식 종목 비교 분석 코카콜라(KO) vs 펩시코(PEP) #2 - 유동비율/현금자산비중/재고자산비중 (0) 2021.04.02 국내 신용카드사(신한카드, 삼성카드, 현대카드 etc) 데이터 분석 With Python #2 - 카드사별 검색량 & 주가 (0) 2021.03.31 파이썬으로 주식 종목 비교 분석 코카콜라(KO) vs 펩시코(PEP) #1 - 매출액/당기순이익/EPS (0) 2021.03.28