본문 바로가기

코딩으로 익히는 Python/데이터분석

[Python 실습] 부산광역시 세금 데이터 분석 : groupby(),idxmax(),unstack(),fillna() 데이터 전처리/시각화

728x90
반응형
SMALL

부산광역시 세금 데이터 불러오기

taxDF = pd.read_csv('data/부산광역시_부산시인터넷지방세청(사이버지방세청)_지방세등 납부현황_20200630.csv',
                    thousands=',',encoding='euc-kr')
taxDF = pd.DataFrame(taxDF)

# taxDF의 컬럼에 공백이있어 공백 제거 작업
colList = []
for col in taxDF.columns:
    colList.append(col.strip())
taxDF.columns = colList

taxDF.head(15)

 


1. 납부년도에 따른 기관별 최대 건수의 납부금액 시각화

# 연도별 데이터프레임 구축
li = taxDF['납부년도'].unique().tolist()
taxList = []
for i in range(len(li)):
    taxList.append(taxDF[taxDF['납부년도'] == li[i]])

# 연도별 데이터프레임을 기관명으로 groupby 시킨 후 금액max값만 가져오기
maxList = []
for i in range(len(li)):
    maxList.append(taxList[i].loc[taxList[i].groupby(['기관명'])['금액'].idxmax()].set_index('기관명'))

# 막대그래프 시각화하기
for i in range(len(li)):
    maxList[i].plot(y='금액',kind='bar',figsize=(10,4),title=f'{li[i]}년도 기관별 최대 납부금액')
plt.show()

 


결론

  • 2017 ~ 2020년도 모두 남구가 1위
  • 강서구, 남구, 부산진구, 시청, 해운대구가 꾸준히 높음

     


2. 버스전용차로위반 과태료 수납 매체 납부년도별 변화 추이

# 버스전용차로위반 데이터 수집
busDF = taxDF[taxDF['구분'].str.contains('버스')]

# 버스전용차로위반 과태료 수납매체 납부년도별 데이터프레임 형성
b = busDF.groupby(['납부년도','수납매체'])[['건수']].sum()
busDf = b.unstack().fillna(0)
busDf.columns = busDF['수납매체'].unique().tolist()

# 막대그래프로 시각화하기
busDf.plot(kind='bar',rot=0,title='버스전용차로위반 과태료 수납 매체 납부년도별 변화 추이')
plt.ylabel('건수')
plt.grid(True)
plt.show()

 


결론

  • 최근 4년간 버스전용차로위반 과태료 수납 건수가 줄어드는 경향
  • 유일하게 가상계좌는 2018년에서 2019년 증가
  • 버스전용차로위반 과태료는 최근 4년간 가상계좌로 가장 많이 수납되었음

3. 2020년도 기관별 지방세 납부에 가장 많이 이용되는 수납 매체

t20 = taxDF2020.groupby(['기관명','수납매체'])[['건수']].sum()
t20.reset_index(inplace=True)
t20.iloc[t20.groupby('기관명')['건수'].idxmax()].set_index('기관명')

 


결론

  • 2020년도 부산 지역에서는 지방세 납부를 위해 위택스(금융결제원) 사이트를 가장 많이 사용

 


REVIEW
- groupby(), idxmax(), unstack() 익숙해지기
728x90
반응형
LIST