728x90
data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15061304
공공데이터 Open API에서 위 링크와 같이 국내 은행과 관련된 데이터를 제공하고 있어 오늘 포스팅을 시작으로 해서 국내 메이저 은행에 대해 분석해보고자 한다. 신한지주에 상당한 돈이 들어간 주주 입장으로서 이번 분석이 꽤 재미있을 것 같아서 시작해보았다. 오늘은 간단하게 국내 은행들의 임직원 수를 알아보도록 하겠다.
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/GetDomeBankInfoService/getDomeBankGeneInfo?serviceKey={key}&'
queryParams =urlencode({quote_plus('pageNo') : '1',quote_plus('numOfRows') : '1000',
quote_plus('resultType') : 'xml',quote_plus('title') : '은행_일반현황_임직원현황(18.12월이후)',
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['xcsmCnt']=df['xcsmCnt'].astype(int)
count=pd.DataFrame(df.groupby(['fncoNm']).sum()['xcsmCnt']).reset_index()
count.columns=['Bank','Employees']
count=count.sort_values(by='Employees',ascending=False)
count=count[(count['Bank'] != '일반은행') & (count['Bank'] != '특수은행')]
count['Bank']=count['Bank'].str.replace('주식회사','')
count=count.reset_index().drop('index',axis=1)
import seaborn as sns
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = 'Malgun Gothic'
fig, ax1 = plt.subplots(figsize=(25,10))
color = 'tab:green'
ax1.set_xlabel('은행', fontsize=14)
ax1.set_ylabel('총임직원 수', fontsize=12)
ax1 = sns.barplot(x=count.Bank, y='Employees', data = count, palette='summer')
ax1.tick_params(axis='y')
ax1.set_xticklabels(labels=count.Bank,rotation=45,fontsize=10)
for i in range(len(count)):
ax1.annotate(f"{count['Employees'][i]}",
xy=(i, count['Employees'][i]+1000),
va = 'center', ha='center',fontweight='light',fontsize=15,
color='#4a4a4a')
확인 결과 아래 그래프 처럼 총 19개 은행들에 대한 데이터를 볼 수 있다. 역시나 국민은행, 농협은행, 우리은행, 신한은행, 중소기업은행, 하나은행 메이저 은행에서 임직원 수가 기타 지방은행 대비 압도적으로 많은 점을 확인할 수 있다. 그리고 카카오뱅크나 케이뱅크처럼 오프라인 은행 지점이 없는 인터넷 은행의 경우 임직원 수가 국민은행 대비 약 5% 정도에 불과하다.
다음은 주요 재무 지표를 가져와서 한번 분석해도록 하겠다.
728x90
반응형
'문송충의 코딩하기 > 파이썬 데이터 분석' 카테고리의 다른 글
2021년 5월 ~ 11월 서울 강서구 오피스텔 매매가 데이터 가져오기(공공데이터) with Python (0) | 2021.12.27 |
---|---|
KODEX 은행, TIGER 은행 지난 5년간 주가 그래프 파이썬으로 그리기 (0) | 2021.03.22 |
네이버에서 국내 ETF 종목 정보 가져와서 분석 with Python (0) | 2021.03.20 |
[파이썬] - 공공데이터 API에서 시도별 미세먼지 PM10 데이터를 가져와서 Folium으로 시각화하기 (0) | 2020.11.28 |
[파이썬] - 네이버 파이낸스에서 KT 주가 가져와서 Plotly 반응형 그래프 그리기 (0) | 2020.11.28 |
댓글