파이썬기초108 : 데이터분석과시각화_기초2_matplotlib
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,849 조회
- 0 추천
- 목록
본문
# pip install matplotlib #데이터 시각화해주는 numpy 라이버러리 설치
# pip install numpy #numpy 라이버러리 설치
# pip install pandas #pandas 라이버러리 설치
# 공공데이터포털 : www.data.go.kr
#데이터형태는 csv, excel, txt, json등등으로 제공하고 있음.
# #한글 표현하기
from matplotlib import font_manager, rc
font_name = font_manager.FontProperties(fname="c:/Windows/Fonts/malgun.ttf").get_name()
rc('font', family=font_name)
import matplotlib.pyplot as plt
# s = 'aaa bbb ccc'
# sList = s.split(',') #,기준으로 자름.. 기본은 space으로 자름..
# print(sList, sList[0])
# x = ['aa', 'bb', 'cc', 'dd']
# y = [10, 40, 30, 35]
# plt.plot(x,y) #라인차트
# plt.show()
# plt.bar(x,y) #바차트
# plt.show()
# fp = open('crime.csv', 'r')
# print(list(fp))
fp = open('c:\crime.csv', 'r')
from statistics import *
data = []
for rd in fp:
sList = rd.split(',')
try:
data.append({'pname':sList[0], #경찰서명
'kill':int(sList[1]), #살인발생
'ks':int(sList[2]), #살인검거
'kang':int(sList[3]), #강도발생
'kangs':int(sList[4]) #강도검거
}) #data객체에는... 리스트+딕셔너리 데이터로 구성됨.
except Exception as err:
pass
fp.close()
print(data)
#
# #문제1. 살인사건이 가장 많이 발생한 경찰서
maxData = max( data, key=lambda n : n['kill']) #n은 딕셔너리, 살인건수는 n['kill']
print(maxData['pname'], maxData['kill'])
#
# #문제2. 평균 살인사건 발생수
kList = [n['kill']for n in data] # data는 리스트+딕셔너리 > n은 딕셔너리 > n['kill']은 살인건수. 결과 kList는 살인건수들만 저장된 리스트
print(kList)
print("평균 살인사건 발생수 : ", mean(kList))
#
# #문제3. 전체 강도 사건 발생수
print("전체 강도사건 발생수 : ", sum([n['kang'] for n in data]))
#
# #문제4. 살인사건이 10건이상 발생한 경찰서와 건수
k10 = filter(lambda n:n['kill'] > 10, data) #data는 리스트+딕셔너리, n은 딕셔너리, n['kill']은 살인건수
for n in k10:
print("파출소명:%(pname)s 살인사건수:%(kill)d"%n)
#중요팁,
# max(data, key=lambda n : n['kill'] => 이구조를 잘 익힐 것.
# [n['kill'] for n in data] => 이 구조를 잘 익힐 것.
# sum([n['kang'] for n in data]) => 이 구조를 잘 익힐 것.
# filter(lambda n:n['kill'] > 10, data =>이구조를 잘 익힐 것.
관련자료
-
이전
-
다음