반응형
반응형

 

Python Package Index (PyPI) : https://pypi.org/

 

PyPI · The Python Package Index

The Python Package Index (PyPI) is a repository of software for the Python programming language.

pypi.org

 

반응형
반응형

몇 줄의 Python 코드로 멋진 그림을 그리고 싶습니까? SketchPy가 도와드리겠습니다. 

이 글에서는 스케치파이가 무엇인지, 컴퓨터에서 파이썬으로 그림을 그리는 데 어떻게 활용할 수 있는지 알아보자.

 

https://pypi.org/project/sketchpy/

Install

    pip install sketchpy

it should probably work, If not then try the following code

    pip install turtle open-cv wheel sketchpy

Example

    from sketchpy import library as lib


    obj = lib.rdj()
    obj.draw()

 

from sketchpy import library
myObject = library.tom_holland()
myObject.draw()


from sketchpy import library
myObject = library.ironman_ascii()
myObject.draw()

https://pythonistaplanet.com/sketchpy/

 

Python SketchPy Tutorial | Pythonista Planet

Do you want to draw some cool pictures with a few lines of Python code? SketchPy is here to help. In this article, let's look…

pythonistaplanet.com

 

반응형
반응형

[python] 공공데이터 OPEN API의 xml 을 DataFrame으로 변환하기(feat. 코로나 확진자 수)

 

 

https://greendreamtrre.tistory.com/268

 

Python (파이썬) 공공데이터 수집 (Open API - XML)

공공데이터포털의 특징은 자료를 활용을 요약하자면 1. 회원 가입 후 '사용자 인증키'를 생성해야한다. 2. 이후 원하는 데이터를 '활용 신청'을 해서 승인이 떨어지고 활용 권한을 획득해야한다.

greendreamtrre.tistory.com

 

# 모듈 import
import requests
import pprint


#인증키 입력
encoding = '발급받은 인코딩 인증키를 복사하여 붙여넣기 해 주세요.'
decoding = '발급받은 디코딩 인증키를 복사하여 붙여넣기 해 주세요.'

#url 입력
url = 'http://openapi.data.go.kr/openapi/service/rest/Covid19/getCovid19SidoInfStateJson'
params ={'serviceKey' : decoding , 'pageNo' : '1', 'numOfRows' : '10', 'startCreateDt' : '2020', 'endCreateDt' : '20211103' }

response = requests.get(url, params=params)

# xml 내용
content = response.text

# 깔끔한 출력 위한 코드
pp = pprint.PrettyPrinter(indent=4)
#print(pp.pprint(content))

### xml을 DataFrame으로 변환하기 ###
from os import name
import xml.etree.ElementTree as et
import pandas as pd
import bs4
from lxml import html
from urllib.parse import urlencode, quote_plus, unquote

## 각 컬럼 값 ## (포털 문서에서 꼭 확인하세요)
"""
SEQ : 게시글번호(국내 시도별 발생현황 고유값)
CREATE_DT: 	등록일시분초
DEATH_CNT: 	사망자 수
GUBUN: 	시도명(한글)
GUBUN_CN: 	시도명(중국어)
gubunEn: 시도명(영어)
INC_DEC: 전일대비 증감 수
ISOL_CLEAR_CNT: 격리 해제 수
QUR_RATE: 10만명당 발생률
STD_DAY: 기준일시
UPDATE_DT: 수정일시분초
DEF_CNT: 확진자 수
ISOL_ING_CNT: 격리중 환자수
OVER_FLOW_CNT: 해외유입 수
LOCAL_OCC_CNT: 지역발생 수

""" 

#bs4 사용하여 item 태그 분리

xml_obj = bs4.BeautifulSoup(content,'lxml-xml')
rows = xml_obj.findAll('item')
print(rows)
"""
# 컬럼 값 조회용
columns = rows[0].find_all()
print(columns)
"""

# 각 행의 컬럼, 이름, 값을 가지는 리스트 만들기
row_list = [] # 행값
name_list = [] # 열이름값
value_list = [] #데이터값

# xml 안의 데이터 수집
for i in range(0, len(rows)):
    columns = rows[i].find_all()
    #첫째 행 데이터 수집
    for j in range(0,len(columns)):
        if i ==0:
            # 컬럼 이름 값 저장
            name_list.append(columns[j].name)
        # 컬럼의 각 데이터 값 저장
        value_list.append(columns[j].text)
    # 각 행의 value값 전체 저장
    row_list.append(value_list)
    # 데이터 리스트 값 초기화
    value_list=[]

#xml값 DataFrame으로 만들기
corona_df = pd.DataFrame(row_list, columns=name_list)
print(corona_df.head(19)) 

#DataFrame CSV 파일로 저장
corona_df.to_csv('corona_kr.csv', encoding='utf-8-sig')
반응형
반응형

[python] perfect way to learn python in 10 days 

Day  1 : Programming Lang & its application
Day  2 : Basic concepts. Operators & more
Day  3 : String & variables
Day  4 : Exception & files
Day  5 : Function & modules
Day  6 : Control Structures
Day  7 : More Types
Day  8 : Functional programming
Day  9 : OOP concept
Day 10 : Revise DAY 1 to DAY 9

반응형
반응형

jupyter에서 출력을 하려고 실행을 했더니

'IOPub data rate exceeded' 라 하면서 뒤에 주저리주저리 뭐가 붙는 경우가 있습니다.

 

출력 데이터 rate 초과시 발생하는 오류인데 Juptyer의 환경설정에서 고칠 수 있습니다. 

'NotebookApp.iopub_data_rate_limit = 1000000' 으로 써져있는 곳을 바꾸면 되는데 복잡합니다.

 

환경설정 자체를 건드려 보겠습니다.

앞으로 모든 환경에서 초과 오류가 나오게 하고 싶지 않다면 이 방법으로 해결하면 됩니다.

cmd나 파워쉘을 켜서 다음을 입력합니다.

jupyter notebook --generate-config

그러면 경로가 하나 보입니다. 

저 경로로 찾아가 jupyter-notebook_config.py 파일을 메모장으로 엽니다.

그리고 NotebookApp.iopub_data_rate_limit 를 찾습니다. 저는 data_rate로 찾아서 아래와 같이 찾았습니다.

여기서 #을 지우고 뒤에 1000000을 1.0e10으로 고칩니다.

저장을 하고 메모장을 끕니다. 

 

 

 

https://seong6496.tistory.com/98

 

[Jupyter notebook]IOPub data rate exceeded

jupyter에서 출력을 하려고 실행을 했더니 'IOPub data rate exceeded' 라 하면서 뒤에 주저리주저리 뭐가 붙는 경우가 있습니다. 출력 데이터 rate 초과시 발생하는 오류인데 Juptyer의 환경설정에서 고칠

seong6496.tistory.com

 

반응형
반응형

Python array[::] 용법,  Extended Slices 

 

arr[::], arr[1:2:3], arr[::-1] 등으로 배열의 index에 접근하는 방법을 Extended Slices

 

15 Extended Slices

15 Extended Slices Ever since Python 1.4, the slicing syntax has supported an optional third ``step'' or ``stride'' argument. For example, these are all legal Python syntax: L[1:10:2], L[:-1:1], L[::-1]. This was added to Python at the request of the devel

docs.python.org

설명

arr[A:B:C]의 의미는, index A 부터 index B 까지 C의 간격으로 배열을 만들어라는 말입니다.
만약 A가 None 이라면, 처음부터 라는 뜻이고
B가 None 이라면, 할 수 있는 데까지 (C가 양수라면 마지막 index까지, C가 음수라면 첫 index까지가 되겠습니다.)라는 뜻입니다.
마지막으로 C가 None 이라면 한 칸 간격으로 라는 뜻입니다.

예시

>> arr = range(10)
>> arr
[0,1,2,3,4,5,6,7,8,9]
>> arr[::2] # 처음부터 끝까지 두 칸 간격으로
[0,2,4,6,8]
>> arr[1::2] # index 1 부터 끝까지 두 칸 간격으로
[1,3,5,7,9]
>> arr[::-1] # 처음부터 끝까지 -1칸 간격으로 ( == 역순으로)
[9,8,7,6,5,4,3,2,1,0]
>> arr[::-2] # 처음부터 끝까지 -2칸 간격으로 ( == 역순, 두 칸 간격으로)
[9,7,5,3,1]
>> arr[3::-1] # index 3 부터 끝까지 -1칸 간격으로 ( == 역순으로)
[3,2,1,0]
>> arr[1:6:2] # index 1 부터 index 6 까지 두 칸 간격으로
[1,3,5]

참고

반응형

+ Recent posts