티스토리 뷰

728x90

www.data.go.kr/data/2201319/fileData.do

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

Q1) 소년범죄자들의 범죄분류와 범행동기의 상관관계를 히트맵을 그려보시오.

1) CSV 파일 전처리 (공백제거 , "-"을 0으로 치환)

2) 각 행 별로 비중을 구해준다.

3) 히트맵으로 출력

 

 

 

 

 

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
def make_zero(x) :
    if x=='-' :
        return 0
    if x.isdigit() :
        return int(x)
    else :
        return x
 
def get_importance(new_data_table) :
    return 
data_table=pd.read_csv('Data\CRIMINAL_2017_02.csv',sep=',')
 
new_columns=[x.strip() for x in data_table.columns.tolist()]
new_values=[[make_zero(y.strip()) for y in x] for x in data_table.values.tolist()]
 
new_data_table=pd.DataFrame(new_values,columns=new_columns)
new_data_table.set_index('2017년',inplace=True)
new_data_table.div(new_data_table.sum(axis=1),axis=0)
 
new_data_table=new_data_table.div(new_data_table.sum(axis=1),axis=0)
new_data_table=new_data_table.fillna(0)
plt.rcParams['font.family'= 'NanumGothic'
sns.heatmap(new_data_table)
plt.show()
cs
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함