본문 바로가기
비트 장기/파이썬

8/30

by woohyun22 2018. 8. 30.

data.co.kr



filter활용 


def func01(t):
return t >= 30
def func02(t):
return t%3==0
def func03(t):
print(t)
return len(t)>1
def func04(t):
if len(t)>1:
return t
a=[10,20,30,40,50]
b=list(filter(func01,a))#(필터에 사용될 함수의 이름, 함수에 들고갈 data)
#함수를 콜하면서 a의값을 던진다. b라는 객체에 filter 조건으로 걸러서 보냄
#미리 함수로 조건을 만들어놓고 바로 뽑아낸다. 코드단순화
print(b)

b=list(filter(func02,a))#(필터에 사용될 함수의 이름, 함수에 들고갈 data)
#함수를 콜하면서 a의값을 던진다. b라는 객체에 filter 조건으로 걸러서 보냄
print(b)

a=["봄","여름","가을","겨울"]
b=list(filter(func03,a))
print(b)

b=list(filter(func04,a))
print(b)


분포도표현 


import matplotlib.pyplot as plt
"""
#ex1 상관관계가 높다
a=[1,2,3,4,5]
b=[10,20,30,40,50]

plt.scatter(a,b,1000)#a와b의 리스트의 값으로 분포도를 나타낸다 세번째인수는 점의 굵기
plt.show() #얼마나 군집되어있는지 한눈에 보기쉽게 표현할 수 있다.

#ex2 상관관계가없음
import matplotlib.pyplot as plt
import numpy as np

a = np. random.randint(0,100,200)#0~100사이의 숫자를 랜덤하게 200게 뽑아냄
b = np. random.randint(0,100,200)

plt.scatter(a,b)
plt.show()

#ex3
import matplotlib.pyplot as plt
import numpy as np

a = [150,160,170,180,190,200,210,220,230,240]
b = [43,48,70,65,72,110,89,140,92,100]

plt.scatter(a,b)
plt.show()
#datafame = 테이블 이름 나이 주소 표
#dataframe을 r처럼 쓰고싶으면

#ex4
import pandas as pd
a=[1,2,3,4,5,6,7,8,9,10]#나이 필드
b=[10,20,30,40,50,60,70,80,90,100]#이름 필드
c=[3,6,9,12,15,18,21,24,27,30]#고향 필드
d=[a,b,c]
df = pd.DataFrame(d).T#dataframe객체

print(type(df))#class
print(df)
plt.show()

#ex5
import pandas as pd
a=[1,2,3,4,5,6,7,8,9,10]#나이 필드
b=[10,20,30,40,50,60,70,80,90,100]#이름 필드
c=[3,6,9,12,15,18,21,24,27,30]#고향 필드
d=[a,b,c]
df = pd.DataFrame(d).T#dataframe객체
print(df)
f = df.corr(method="pearson")#pearson 안에들어가있는 데이터로 값을 도출
#상관관계가 1일때 가장 높다.
print(f)
#plt.scatter(a,b,1000)
#plt.show()

#ex6
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

a = [150,160,170,180,190,200,210,220,230,240]
b = [43,48,70,65,72,110,89,140,92,100]
d=[a,b]
df = pd.DataFrame(d).T#dataframe객체
print(df)
f = df.corr(method="pearson")#pearson 안에들어가있는 데이터로 값을 도출
#상관관계가 1일때 가장 높다.
print(f)
plt.scatter(a,b)
plt.title(f[0][1])#타이틀에 표현가능
plt.show()
"""
"""
#ex7
import pandas as pd
import numpy as np
a2001=[1,2,3,4,5,6,7,8,9,10]#나이 필드
a2002=[10,20,30,40,50,60,70,80,90,100]#이름 필드
a2003=[3,6,9,12,15,18,21,24,27,30]#고향 필드
d=[a2001,a2002,a2003]
df = pd.DataFrame(d).T#dataframe객체
print(df)
f = df.corr(method="pearson")#pearson 안에들어가있는 데이터로 값을 도출
#상관관계가 1일때 가장 높다.
print("="*100)
print(f)
print(df[2][9])#2차행렬에서 뽑아낼때
#plt.scatter(a,b,1000)
#plt.show()
"""
#ex8
import pandas as pd
import numpy as np
a2001 = np. random.randint(0,100,12)
a2002 = np. random.randint(0,100,12)
a2003 = np. random.randint(0,100,12)
#a2004 = np. random.randint(0,100,200)
df = pd.DataFrame().T#dataframe객체
df["2001"] = a2001
df["2002"] = a2002
df["2003"] = a2003 #필드는 번호로 못쓴다.
print(df)
print(df["2003"][9])
# print("="*100)
# print(f)
# print(df[2][9])#2차행렬에서 뽑아낼때

import seaborn
seaborn.heatmap(df)#색깔의 진하기로 값을 보여준다.
plt.show()

yyyymm


for y in range(2001,2003):
yyyymm = "%d%02d" % (y, 1)
for i in range(1,13):
yyyymm = "%d%02d"%(2001,i)#yyyy년mm월 %02d 는 비워져있는 자리는 0으로 채워주세요
print(yyyymm)
from urllib.parse import urlencode
url = 'http://openapi.tour.go.kr/openapi/service/TourismResourceStatsService/getPchrgTrrsrtVisitorList'


공공데이터에서 받아온 정보를 출력할때



# # Python 샘플 코드 #
# from urllib2 import Request, urlopen
# from urllib import urlencode, quote_plus
# url = 'http://openapi.tour.go.kr/openapi/service/TourismResourceStatsService/getPchrgTrrsrtVisitorList'
# queryParams = '?' + urlencode({ quote_plus('ServiceKey') : '서비스키', quote_plus('YM') : '201201', quote_plus('SIDO') : '부산광역시', quote_plus('GUNGU') : '해운대구', quote_plus('RES_NM') : '부산시립미술관' })
#
# request = Request(url + queryParams)
# request.get_method = lambda: 'GET'
# response_body = urlopen(request).read()
# print response_body
"""
for y in range(2001,2003):
yyyymm = "%d%02d" % (y, 1)
for i in range(1,13):
yyyymm = "%d%02d"%(2001,i)#yyyy년mm월 %02d 는 비워져있는 자리는 0으로 채워주세요
print(yyyymm)
"""
import urllib.parse
import urllib.request
url = 'http://openapi.tour.go.kr/openapi/service/TourismResourceStatsService/getPchrgTrrsrtVisitorList'
sk="7gJ2zt4OmZnQ82ubK4gjDVnHJA%2F5sxYPlB3zEub5vjE8BQnSOUalR9EQ%2B9A9DXot6M5PnDH4nxA586dC%2FmPsug%3D%3D"
a="?_type=json&ServiceKey="+sk # href&a="아"형식
a+="&YM=201101"
a+="&SIDO="+urllib.parse.quote("부산")
b =url+a
#a+="RES_NM"

r1 = urllib.request.Request(b)
r2 = urllib.request.urlopen(r1)
print(r2)

if r2.getcode()==200:
print("성공")
else:
print("실패")

temp =r2.read().decode("utf-8")
print(temp)


728x90

'비트 장기 > 파이썬' 카테고리의 다른 글

파이썬  (0) 2018.08.31
8/29  (0) 2018.08.29
8/28 크롤링 api긁어오기  (0) 2018.08.28
파이썬 문제복습 4번~13번  (0) 2018.08.28
8/27 api 검색어 긁어오기  (0) 2018.08.27

댓글