Coding/Python 27

[python] ์œ ํŠœ๋ธŒ ๋Œ“๊ธ€ ํฌ๋กค๋ง(api ์‚ฌ์šฉ)

์œ ํŠœ๋ธŒ api ๊ฐ€์„œ ํ‚ค๊ฐ’์„ ๋ฐœ๊ธ‰๋ฐ›์€ ํ›„, ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค์น˜ํ•ด์ฃผ๊ณ , pip install google-api-python-client import re import datetime from tqdm import tqdm tvNdrama ์ฑ„๋„์˜ ์žฌ์ƒ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™•์ธํ•˜๊ณ , ํŠน์ • ์žฌ์ƒ๋ฆฌ์ŠคํŠธ์˜ ๋Œ“๊ธ€์„ ๋ชจ๋‘ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์„๋•Œ from googleapiclient.discovery import build from googleapiclient.errors import HttpError # from oauth2client.tools import argparser DEVELOPER_KEY = ' ' # ๋‚ด ์œ ํŠœ๋ธŒ API ํ‚ค YOUTUBE_API_SERVICE_NAME = 'youtube' YOUTUBE_API_VERSION ..

Coding/Python 2022.04.06

[python] ์œ ํŠœ๋ธŒ ๋Œ“๊ธ€ ํฌ๋กค๋ง(api ์—†์ด)

์œ ํŠœ๋ธŒ ์˜์ƒ์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ, ๋‚˜์˜ค๋Š” ์˜์ƒ๋“ค์˜ ๋Œ“๊ธ€์„ ๋ชจ๋‘ ์ˆ˜์ง‘ํ•ด์•ผ ํ–ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ฐธ๊ณ  ์ž๋ฃŒ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์™„์„ฑ์‹œ์ผฐ๋‹ค. import pandas as pd from bs4 import BeautifulSoup from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from tqdm import tqdm import time import re import requests import random import datetime #Queue์˜ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ class Queue(): def __init__(self, maxsize): self.queue = [] self.maxsize = maxs..

Coding/Python 2022.04.06

[Python] Numpy

Numpy์†Œ๊ฐœ ๋ฐ ํ•„์š”์„ฑ Numerocal Python์˜ ์•ฝ์–ด ๋จธ์‹ /๋”ฅ, ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ํ•„์ˆ˜ api ๋จธ์‹ ๋Ÿฌ๋‹์˜ ์ฃผ์š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์„ ํ˜•๋Œ€์ˆ˜์™€ ํ†ต๊ณ„ ๊ธฐ๋ฐ˜ ์„ ํ˜•๋Œ€์ˆ˜ ๊ธฐ๋ฐ˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ package ๋ฒกํ„ฐ ๋ฐฐ์—ด์ƒ์—์„œ ๋ฐ์ดํ„ฐ ๊ฐœ์กฐ, ์ •์ œ, ๋ถ€๋ถ„ ์ง‘ํ•ฉ, ํ•„ํ„ฐ๋ง, ๋ณ€ํ˜•, ๋‹ค๋ฅธ ์ข…๋ฅ˜ ์—ฐ์‚ฐ์˜ ๋น ๋ฅด ์ˆ˜ํ–‰ if-elif-else๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ ๋Œ€์‹  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด์ ˆ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ดํ‘œํ˜„ ๊ธฐ๋ณธ python์—์„  list๋กœ ํ‘œํ˜„ํ•˜๋‚˜, numpy์—์„œ๋Š” ndarray๋กœ ํ‘œํ˜„ Numpy์˜ ๋ฐ์ดํ„ฐ ํ‘œํ˜„ ๋‹จ์œ„ Numpy์˜ ์šฉ์–ด axis: ๊ฐ’๋“ค์˜ ๋‚˜์—ด ๋ฐฉํ–ฅ rank : ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์—์„œ์˜ ์ถ•์˜ ๊ฐœ์ˆ˜ shape : ํ˜•์ƒ / ํ˜•ํƒœ, ๊ฐ ์ถ• ๋ณ„ ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜ size ๋ฒกํ„ฐํ™” : ๋ฐฐ์—ด์˜ ๊ฐ ์›์†Œ์— ๋Œ€..

Coding/Python 2022.03.18

[Python] ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”

๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๋ชฉ์  ๋ฐ์ดํ„ฐ ํƒ์ƒ‰์„ ํ•  ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์‹œ๊ฐํ™” ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ฒƒ ์ˆ˜์น˜๊ฐ’์„ ํ•˜๋‚˜์”ฉ ๋ณด๋Š” ๊ฒƒ๋ณด๋‹ค ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ๋ฐ์ดํ„ฐ์— ์กด์žฌํ•˜๋Š” ํŒจํ„ด์„ ์‰ฝ๊ฒŒ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Œ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ฒฐ๊ณผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ •ํ™•ํ•œ ๋ถ„์„์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ํƒ์ƒ‰ ๋ฐฉ๋ฒ•์œผ๋กœ ํ™œ์šฉ ๋ถ„์„์‹œ์— ์ตœ์ ํ™”๋œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ ๋ถ„์„์„ ์š”ํ•  ๊ฒฝ์šฐ ๊ธˆ์ „์ ์ธ ํšจ๊ณผ๊ฐ€ ์ฐฝ์ถœ ๊ธฐ์กด ๋ถ„์„๊ณผ์˜ ์ฐจ๋ณ„์  ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์žฅ๋น„๋นจ์ด ํ•„์š” ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ํ”„๋กœ์„ธ์Šค ์ƒํ™ฉ์„ ์ดํ•ดํ•ด์•ผ ํ•จ ๋ˆ„๊ฐ€ ๋ณด๋Š” ๊ฒƒ์ธ์ง€? ๋ฌด์—‡์„ ๋ณด๋Š” ๊ฒƒ์ธ์ง€? ์–ด๋–ป๊ฒŒ ๋ณด๋Š” ๊ฒƒ์ธ์ง€? ๋ˆ„๊ตฌ๋ฅผ ๋Œ€์ƒํ•˜๋Š” ๊ฒƒ์ธ์ง€? ์ ํ•ฉํ•œ ์‹œ๊ฐํ™” ๋ฐฉ๋ฒ• ์„ ํƒ ๋ถˆํ•„์š”ํ•œ ์š”์†Œ ์ œ๊ฑฐ (๊ฐ€์žฅ ์ค‘์š”) ์›ํ•˜๋Š” ๊ณณ์— ์ง‘์ค‘ํ•˜๋„๋ก ์œ ๋„ ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์Šคํ† ๋ฆฌ๊ฐ€ ๋งŒ๋“ค์–ด์ง ๊ฒฐ๋ก  : ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ์ˆจ์€ ์ด์•ผ๊ธฐ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”..

Coding/Python 2022.03.16

[Python] ์—๋Ÿฌ : python-3.x Couldn't find Class NSProcessInfo

๊ฐ€์ƒํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•˜๊ณ (python 3.6) ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์„ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ kernel์ด ์—ฐ๊ฒฐ์ด ์•ˆ๋˜๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ–ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๊ฐ€ ํ„ฐ๋ฏธ๋„ ์ฐฝ์— ์ถœ๋ ฅ๋จ AssertionError: Couldn't find Class NSProcessInfo Mac์˜ Big Sur OS ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ์ผ ํ™•๋ฅ ์ด ๋†’๋‹ค๊ณ  ํ•œ๋‹ค. - ๋งฅ์—์„œ ํŒŒ์ด์ฌ ์ฃผํ”ผํ„ฐ๋ฅผ ์“ธ ๋•, 3.8 ์ด์ƒ์„ ์“ฐ๋„๋ก ํ•˜์ž. Running a Jupyter Lab kernel under Python 3.6 (possibly also 3.7) throws: AssertionError: Couldn't find Class NSProcessInfo Running in Python 3.8 works fine. https://stackoverflow.co..

Coding/Python 2022.03.16

[Python] Module

๋ชจ๋“ˆ(๋ฌถ์Œ)์ด๋ž€? ํ•จ์ˆ˜๋‚˜ ๋ณ€์ˆ˜๋“ค์„ ๋ชจ์•„ ๋†“์€ library๋“ค ์˜๋ฏธ ํšŒ์‚ฌ, ๊ทธ๋ฃน, ๋ชจ๋ฅด๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์™ธ๋ถ€ library๋“ค ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, ์™ธ๋ถ€์— ๋‚ด ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ชจ๋“ˆ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• 2-1. ๋ชจ๋“ˆ์˜ ํŒŒ์ผ ํ™•์žฅ์ž : py 2-2. ๋ชจ๋“ˆ ์‚ฌ์šฉ ๋ฌธ๋ฒ• a. import file๋ช… b. from file๋ช… import ํ•จ์ˆ˜๋ช… c. import file๋ช… as ๋ณ„์นญ %%writefile mymath.py #mymath.py๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅ mypi = 3.14 def add(a,b): return a+b def area(r): return r*r*mypi mymath ๋ชจ๋“ˆ์˜ ๊ฐ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ๋ฐ ์ถœ๋ ฅ # from file๋ช… import ํ•จ์ˆ˜๋ช…1 [, ํ•จ์ˆ˜๋ช…2] import mymath as m print(m...

Coding/Python 2022.03.07

๋ฐ์ดํ„ฐ ์ €์žฅ์‹œ ์ธ์ฝ”๋”ฉ ์˜ค๋ฅ˜

ํฌ๋กค๋ง ํ›„ ๋ฐ์ดํ„ฐ ์ €์žฅ์‹œ ์ธ์ฝ”๋”ฉ์„ utfmb4๋กœ ์„ค์ •ํ–ˆ๋Š”๋ฐ๋„ 'utf-8' codec can't encode characters in position 188-189: surrogates not allowed ์˜ค๋ฅ˜๊ฐ€ ๋œจ๋ฉด ์ด๋ชจํ‹ฐ์ฝ˜ ์˜ค๋ฅ˜๋ฅผ ๊ณ ๋ คํ•ด๋ณด์ž. ์ด๋ชจ์ง€๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ํ•จ์ˆ˜ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•ด ํ•ด๊ฒฐ! def rmEmoji(inputData): return inputData.encode('utf-8', 'ignore').decode('utf-8')

Coding/Python 2022.02.21

[Python]2021 ๋„ทํ”Œ๋ฆญ์Šค์— ์‹œ๊ฐ„์„ ์–ผ๋งˆ๋‚˜ ์Ÿ์•˜๋‹ˆ? (๋ถ€์ œ: ๋„ทํ”Œ๋ฆญ์Šค ๊ฐœ์ธ ์‹œ์ฒญ ๋ฐ์ดํ„ฐ ๋ถ„์„)

๋„ทํ”Œ๋ฆญ์Šค ๊ตฌ๋…ํ•œ์ง€ ์–ด์–ธ 2๋…„์ฐจ ๋„ทํ”Œ์€ ๊ณต๊ธฐ์™€ ๊ฐ™์€ ์กด์žฌ.. ๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ๋“ ๋“œ๋Š” ์ƒ๊ฐ์ด ์žˆ์—ˆ๋‹ค. โ“ ๋‚˜๋Š” ๋„ทํ”Œ๋ฆญ์Šค ๋ณด๋Š”๋ฐ ์–ผ๋งˆ๋‚˜ ์‹œ๊ฐ„์„ ์“ฐ๊ณ ์žˆ๋‚˜? MBTI power J์ธ ๋‚˜๋Š” ์ด ๊ฒƒ์ด ๊ถ๊ธˆํ•ด์กŒ๊ณ , โ“ ๋‚˜๋Š” ์ด ๋ช‡ํŽธ์˜ ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๋ดค์„๊นŒ? โ“ 2021๋…„ ๊ฐ€์žฅ ๋งŽ์€ ์‹œ๊ฐ„์„ ํ• ์• ํ•œ ๋„ทํ”Œ ์ฝ˜ํ…์ธ ๋Š”? โ“ ๋ฌด์Šจ ์š”์ผ์— ๊ฐ€์žฅ ๋งŽ์ด ๋ดค์„๊นŒ? โ“ ์ฃผ๋กœ ๋ณด๋Š” ์‹œ๊ฐ„๋Œ€๋Š” ์–ธ์ œ์ธ๊ฐ€? . . . ๋“ฑ๋“ฑ๋“ฑ ๋“œ๋Š” ๊ถ๊ธˆ์ฆ์„ ํ•ด๊ฒฐํ•ด๋ณด๊ณ ์ž ์‹œ์ž‘ํ•ด๋ณธ ๋‚˜์˜ ๋„ทํ”Œ๋ฆญ์Šค ๋ฐ์ดํ„ฐ ๋ถ„์„ START! Step 1. ๋„ทํ”Œ๋ฆญ์Šค ๋ฐ์ดํ„ฐ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๊ธฐ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์ด ์•„์ง ์ž˜ ๋ชจ๋ฅด๊ณ  ์žˆ์„ ๊ฟ€์ •๋ณด. ๋„ทํ”Œ๋ฆญ์Šค๋Š” ๊ตฌ๋…์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์•„์ฃผ ๊ด€๋Œ€ํ•˜๊ฒŒ ์ œ๊ณตํ•ด์ค€๋‹ค. ์—ฌ๊ธฐ์— ์ ‘์†ํ•ด์„œ ๋„ทํ”Œ๋ฆญ์Šค ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๋ฉด ์ˆ˜ ์ผ ๋‚ด์— ๋‹ค์šด์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค. ๋นจ๊ฐ„ ๋ฒ„ํŠผ์˜ ์š”์ฒญํ•˜๊ธฐ ํด๋ฆญํ•˜๋ฉด..

Coding/Python 2022.01.18

[Python] ์—ฐ์Šต๋ฌธ์ œ(๋ฌธ์žฅ ๋งŒ๋“ค๊ธฐ)

1. ๋ฌธ์žฅ ๋งŒ๋“ค๊ธฐ # ๋ฌธ์žฅ์„ ์ž…๋ ฅ๋ฐ›์•„์„œ ๋ฌธ๋ฒ•์— ๋งž๋„๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ # ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” . ์ด ์žˆ์„์ˆ˜๋„ ์žˆ๊ณ  ์—†์„์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. # ๋…ผ๋ฆฌ์ ์ธ ๋ฌธ์ œํ•ด๊ฒฐ ์ˆœ์„œ -> ์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝ # str.upper(), str.lower(),, offset index [], str.__add__(๋ฌธ์ž์—ด ๋ง์…ˆ) # python IS the best Language / python IS the best Language. # Python is the best language. #๊ฐ’์„ ์ž…๋ ฅ๋ฐ›๊ธฐ sentence = input("input: ") #2. ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ result = sentence.lower() #3. ๊ฐ€์žฅ ์•ž๊ธ€์ž ๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ result = result[0].upper() + result[1:]..

Coding/Python 2021.12.30

[Python] *args, **kwargs

*args, **kwargs ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ• ๋•Œ ์•„๊ทœ๋จผํŠธ์™€ ํ‚ค์›Œ๋“œ ์•„๊ทœ๋จผํŠธ์˜ ๊ฐฏ์ˆ˜๋ฅผ ํŠน์ •์ง€์„ ์ˆ˜ ์—†์„๋•Œ ์‚ฌ์šฉ ํ‚ค์›Œ๋“œ๊ฐ€ ์—†๋Š” Argument def plus(*args, **kwargs): print(type(args), args) print(type(kwargs), kwargs) return sum(args) + sum(list(kwargs.values())) (1, 2, 3, 4, 5) {'num1': 6, 'num2': 7} ํ‚ค์›Œ๋“œ๊ฐ€ ์žˆ๋Š” Argument : kwargs๋ฅผ ์‚ฌ์šฉํ•จ ์˜ˆ์‹œ : def func(num1, num2, num3): retrun num1 + num2 + num3 data = [1,2,3] func(*data) #func(1, 2, 3) ํ•˜๋‚˜ํ•˜๋‚˜ ์ธ์ž ํ•˜๋‚˜์”ฉ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ฒŒ..

Coding/Python 2021.12.30