강좌
클라우드/리눅스에 관한 강좌입니다.
프로그램 분류

파이썬기초108 : 데이터분석과시각화_기초2_matplotlib

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

# 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  =>이구조를 잘 익힐 것.




관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,034 명
  • 현재 강좌수 :  35,789 개
  • 현재 접속자 :  229 명