본문 바로가기
Study/Python

[Python] pandas라이브러리 CrimeData 실습

by YoungD 2023. 10. 13.
import pandas as pd

 

In [2]:
c15 = pd.read_csv('crime/2015.csv', encoding = 'euc-kr', index_col='관서명')
c16 = pd.read_csv('crime/2016.csv', encoding = 'euc-kr', index_col='관서명')
c17 = pd.read_csv('crime/2017.csv', encoding = 'euc-kr', index_col='관서명')

c17
Out[2]:
In [3]:
total15 = c15.loc[c15['구분'] == '발생건수','살인':].sum(axis=1)
total15
Out[3]:
관서명
광주지방경찰청계    18830
광주동부경찰서      2355
광주서부경찰서      4720
광주남부경찰서      2117
광주북부경찰서      5466
광주광산경찰서      4172
dtype: int64
In [4]:
total16 = c16.loc[c16['구분'] == '발생건수','살인':].sum(axis=1)
total16
Out[4]:
관서명
광주지방경찰청계    15416
광주동부경찰서      2068
광주서부경찰서      3892
광주남부경찰서      1865
광주북부경찰서      4148
광주광산경찰서      3443
dtype: int64
In [5]:
total17 = c17.loc[c17['구분'] == '발생건수','살인':].sum(axis=1)
total17.drop('광주지방경찰청', inplace=True)
total17
Out[5]:
관서명
광주지방경찰청계    13949
광주동부경찰서      1799
광주서부경찰서      3638
광주남부경찰서      1547
광주북부경찰서      3945
광주광산경찰서      3020
dtype: int64
In [6]:
#증감율 (금년-작년)/작년 *100
#2015~2016
s5 = (total16 - total15) / total15 * 100
s5
Out[6]:
관서명
광주지방경찰청계   -18.130643
광주동부경찰서    -12.186837
광주서부경찰서    -17.542373
광주남부경찰서    -11.903637
광주북부경찰서    -24.112697
광주광산경찰서    -17.473634
dtype: float64
In [7]:
# 2016~2017
s6 = (total17 - total16) / total16 * 100
s6
Out[7]:
관서명
광주지방경찰청계    -9.516087
광주동부경찰서    -13.007737
광주서부경찰서     -6.526208
광주남부경찰서    -17.050938
광주북부경찰서     -4.893925
광주광산경찰서    -12.285797
dtype: float64
In [8]:
resultDf1 = pd.concat([total15, s5, total16, s6, total17], axis=1)
resultDf1
Out[8]:
In [9]:
crime = pd.concat([total15, s5, total16, s6, total17], axis=1, join='inner')
In [10]:
# 1. 컬럼명 수정

crime.columns = ['2015총계', '2015-2016 증감율', '2016 총계', '2016-2017 증감율', '2017총계']
In [11]:
crime
Out[11]:
In [12]:
# 2. column에 이름 주기
s6
Out[12]:
관서명
광주지방경찰청계    -9.516087
광주동부경찰서    -13.007737
광주서부경찰서     -6.526208
광주남부경찰서    -17.050938
광주북부경찰서     -4.893925
광주광산경찰서    -12.285797
dtype: float64
In [13]:
# 시리즈에 이름 부여
s5.name = '2015-2016증감율'
s6.name = '2016-2017증감율'
In [14]:
crime.columns = ['2015총계', '2015-2016 증감율', '2016 총계', '2016-2017 증감율', '2017총계']
In [15]:
crime = pd.concat( [total15, s5, total16, s6, total17], axis=1 )
crime
Out[15]:
In [16]:
# 3. 컬렴명 수정 (rename)
crime.rename( columns={0:'2015총계', 1:'2016총계', 2:'2017총계'}, inplace=True )
In [17]:
crime
Out[17]:
 

'Study > Python' 카테고리의 다른 글

[Python] Numpy 배열  (1) 2023.10.17
[Python] Matplotlib  (0) 2023.10.16
[Python] 함수  (0) 2023.10.12
[Python] 딕셔너리  (0) 2023.10.11
[Python] 반복문  (2) 2023.10.07