์ ์ฒด ๊ธ(210)
-
๋ฐ์ดํฐ ์๊ฐํ - ๊บฝ์์ ๊ทธ๋ํ
๋ฐ์ดํฐ ์๊ฐํ(Matplotlib) ๋ค์ํ ํํ์ ๊ทธ๋ํ๋ฅผ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ # ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ import matplotlib import matplotlib.pylab as plt # ํ๊ธ ํฐํธ ์ค์ matplotlib.rcParams['font.family'] = 'Malgun Gothic' matplotlib.rcParams['axes.unicode_minus'] = False ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ # ๊ทธ๋ํ ๊ธฐ๋ณธ # x์ถ ๋ฐ์ดํฐ x = [1, 2, 3] # y์ถ ๋ฐ์ดํฐ y = [2, 4, 8] # ์ขํ ์ง์ plt.plot(x, y) # ์ฐจํธ ์ ๋ชฉ ์ง์ plt.title('๊บฝ์์ ๊ทธ๋ํ') #x,y์ถ ์ด๋ฆ ์ง์ # plt.xlabel('x์ถ') # ๋ ์ด๋ธ ์ง์ ์ ๋งค๊ฐ๋ณ์๋ก ์์น ์ง์ ..
2023.05.22 -
๋ฐ์ดํฐ ๋ถ์(pandas) DataFrame ๋ฐ index
๋ฐ์ดํฐ ๋ถ์(pandas) pandas ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ ์ ๋ค์ as ๋ณ์นญ ์ฝ๋ ์ถ๊ฐ ๊ฐ๋ฅ! # pandas ๋ผ์ด๋ธ๋ฌ๋ฆฌ import # as ๋ณ์นญ import pandas as pd ๋ฐ์ดํฐ ์์ฑ data = { '์ด๋ฆ' : ['๊น์๋ฐ', '์ด์๋ฐ', '๋ฐ์๋ฐ', '์ต์๋ฐ', '์ ์๋ฐ'], 'ํ๊ธ' : ['์๋ฐ๋ฐ', '์๋ฐ๋ฐ', '์๋ฐ๋ฐ', '์บ๋๋ฐ', '์บ๋๋ฐ'], '๊ตญ์ด์ ์' : [90, 80, 70, 100, 90], '์์ด์ ์' : [70, 80, 80, 70, 90], 'ํ๊ท ' : [80.0, 80.0, 75.0, 85.0, 90.0], '์ทจ๋ฏธ' : ['๋ ์', '', '', '์๊ฐ', '์ถ๊ตฌ'] } ๋ฐ์ดํฐ ํ๋ก ๋ง๋ค๊ธฐ # 2์ฐจ์ ํํ์ ๋ฐ์ดํฐ๋ก ๋ณํ(ํ) df = pd.DataFrame(data..
2023.05.17 -
๋ฐ์ดํฐ ๋ถ์ (2) ๋ฐ์ดํฐ ์ ๊ทผ ๋ฐ ์์ฝ ๋ถ์
pandas ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ import pandas as pd data = { '์ด๋ฆ' : ['๊น์๋ฐ', '์ด์๋ฐ', '๋ฐ์๋ฐ', '์ต์๋ฐ', '์ ์๋ฐ'], 'ํ๊ธ' : ['์๋ฐ๋ฐ', '์๋ฐ๋ฐ', '์๋ฐ๋ฐ', '์บ๋๋ฐ', '์บ๋๋ฐ'], '๊ตญ์ด์ ์' : [90, 80, 70, 100, 90], '์์ด์ ์' : [70, 80, 80, 70, 90], 'ํ๊ท ' : [80.0, 80.0, 75.0, 85.0, 90.0], '์ทจ๋ฏธ' : ['๋ ์', '', '', '์๊ฐ', '์ถ๊ตฌ'] } df = pd.DataFrame(data) df ๋ฐ์ดํฐ ์ ๊ทผ๋ฒ - ํ๋์ ์ปฌ๋ผ๊ฐ์ ์ ๊ทผ # ๋ฐ์ดํฐ ์ ๊ทผ # 1. ํ๋์ ์ปฌ๋ผ๊ฐ ํ์ธํ๊ธฐ []์์ ์ปฌ๋ผ ๋ฃ์ผ๋ฉด ๋จ df['์ด๋ฆ'] - ์ฌ๋ฌ ์ปฌ๋ผ๊ฐ์ ์ ๊ทผ #2. ์ฌ๋ฌ ์ปฌ๋ผ์ ๊ฐ์ ๋..
2023.05.17 -
์น ํฌ๋กค๋ง (3) Selenium ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Selenium ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ ํด๋ฆญ, ํค ์ ๋ ฅ ์ด๋ฒคํธ ๋ค์ ์ฌ์ดํธ์ Selenium์ ์ด์ฉํด์ ๋ก๊ทธ์ธ์ ์งํ https://hashcode.co.kr ํฌ๋กฌ์ ์คํ์์ผ์ฃผ๋ chromeDriver ์ค์น ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ๋ฐ ์ถ๊ฐ pip install selenium ์ค์น ์ฝ๋ ์น๋ฉด ์๋์ฒ๋ผ ๋ค์ด๋ก๋ ๋จ. selenium ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ import time์ ์นํ์ด์ง ์ด๋ฆด ๋ ๋๊ธฐ ์์ผ์ฃผ๋ ๊ธฐ๋ฅ์ ํจ. from selenium import webdriver from selenium.webdriver.common.by import By import time ๋๋ผ์ด๋ฒ ์ค์น 1. ๊ตฌ๊ธ์ฐฝ์์ ์ค์ ๋ค์ด๊ฐ์ ์์ ์ ํฌ๋กฌ ๋ฒ์ ํ์ธ ํ ์ ๋ฐ์ดํธ ๋ฒ์ ์ด ์๋ค๋ฉด ์ ๋ฐ์ดํธ ํ ๊ฒ. 2. Chromedriver ๊ฒ..
2023.05.16 -
์น ํฌ๋กค๋ง (2) BeautifulSoup ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ค์ด๋ฒ ๋ด์ค์ it/๊ณผํ ํญ์ ํค๋๋ผ์ธ ๊ธฐ์ฌ ์ ๋ชฉ ๋ค๊ณ ์ค๊ธฐ ๋ค์ด๋ฒ ๋ด์ค ์ ๋ชฉ ๊ฐ์ ธ์ค๊ธฐ #ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ ธ์ด. #์๋ ์ฝ๋๋ ๋งค๋ฒ ํ์ from bs4 import BeautifulSoup from urllib.request import urlopen #๋ฌธ์์ด๋ก ์ ๋ณด ๋ค๊ณ ์ค๊ธฐ html = urlopen('https://news.naver.com/main/main.naver?mode=LSD&mid=shm&sid1=105') # ๊ฐ์ ธ์จ ๋ฌธ์์ด ํํ์ html์ BeautifulSoup ๊ฐ์ฒด๋ก ๋ณํ # bs = html์ด ๋ค์ด์๋ ๊ฐ์ฒด bs = BeautifulSoup(html.read(), 'html.parser') ๋ชจ๋ ๊ธฐ์ฌ ์ ๋ชฉ์ ๋ค๊ณ ์ค๋ ค๋ฉด ์ด๋ค ํ๊ทธ๋ฅผ ์ ํํด์ผ ํ๋์ง ์ ์๊ฐํด๋ด์ผํจ. ๋ด์ค ๊ธฐ์ฌ ์ ..
2023.05.16 -
์น ํฌ๋กค๋ง BeautifulSoup ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์น ํฌ๋กค๋ง์ผ๋ก ๊ธ์๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ > html์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ. ์น ํฌ๋กค๋ง ์์ํ๊ธฐ ๊ธฐ๋ณธ์ ์ธ ์น ํฌ๋กค๋ง์ ์ํด์๋ BeautifulSoup ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ ๋จผ์ BeautifulSoup ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ค์ด๋ก๋. PC๋น ์ต์ด 1๋ฒ #๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ค์ด๋ก๋ ์ฝ๋ pip install bs4 #BeautifulSoup ๋ก๋ฉ from bs4 import BeautifulSoup from urllib.request import urlopen ์๋ ์ฌ์ดํธ ํฌ๋กค๋ง http://pythonscraping.com/pages/page1.html A Useful Page An Interesting Title Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do ..
2023.05.11 -
branch ๊ธฐ๋ฅ
branch ์ฌ๋ฌ ๊ฐ๋ฐ์๋ค์ด ๋์์ ๋ค์ํ ์์ ์ ํ ์ ์๊ฒ ๋ง๋ค์ด ์ฃผ๋ ๊ธฐ๋ฅ ๊ฐ์ ๋ ๋ฆฝ์ ์ธ ์์ ์ ์ฅ์ ์์์ ๋ง์๋๋ก ์์ค์ฝ๋๋ฅผ ๋ณ๊ฒฝ ๊ฐ๋ฅ. ๋ถ๋ฆฌ๋ ์์ ์์ญ์์ ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ๋์ค์ ์๋์ ๋ฒ์ ๊ณผ ๋น๊ตํด์ ํ๋์ ์๋ก์ด ๋ฒ์ ์์ฑ ๊ฐ๋ฅ ์ฌ๋ฌ ๋ช ์ด์ ๋์์ ์์ ์ ํ ๋์ ๋ค๋ฅธ ์ฌ๋์ ์์ ์ ์ํฅ์ ์ฃผ๊ฑฐ๋ ๋ฐ์ง ์๋๋ก, ๋จผ์ ๋ฉ์ธ ๋ธ๋์น์์ ์์ ์ ์์ ์ ์ฉ ๋ธ๋์น๋ฅผ ๋ง๋ญ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ์์ ์ ์งํํ ํ, ์์ ์ด ๋๋ ์ฌ๋์ ๋ฉ์ธ ๋ธ๋์น์ ์์ ์ ๋ธ๋์น์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉ ์ ์ฅ์๋ฅผ ์ฒ์ ๋ง๋ค๋ฉด, Git์ ๋ฐ๋ก 'master' ๋ผ๋ ์ด๋ฆ์ ๋ธ๋์น๋ฅผ ๋ง๋ค์ด ์ค. ์ด ์ ์ฅ์์ ์๋ก์ด ํ์ผ์ ์ถ๊ฐ ํ๋ค๊ฑฐ๋ ์ถ๊ฐํ ํ์ผ์ ๋ด์ฉ์ ๋ณ๊ฒฝํ์ฌ ๊ทธ ๋ด์ฉ์ ์ ์ฅ(์ปค๋ฐ, Commit)ํ๋ ๊ฒ์ ๋ชจ๋ 'master'..
2023.05.11 -
git - ํ๋ก์ ํธ ์ ๋ก๋
์๋ฅผ ๋ค์ด ๊ฐ์์ค - ์ง ๋ ๊ณณ์์ ์ฎ๊ฒจ๊ฐ๋ฉฐ ์์ ํ๋ ๊ฒฝ์ฐ 1. github ์ ์. ํ๋ก์ ํธ๋ฅผ ์ ์ฅํ ์ ์๋ ์๊ฒฉ ์ ์ฅ์ ์์ฑ. ์๊ฒฉ ์ ์ฅ์๋ช ์ ์ ๋ก๋ ํ ํ๋ก์ ํธ๋ช ๊ณผ ๋์ผํ๊ฒ 2. ์๊ฒฉ ์ ์ฅ์์ ์ฐ๊ฒฐ๋ ๋ก์ปฌ ์ ์ฅ์ ์์ฑ ์ดํด๋ฆฝ์ค์์ ํ๋ก์ ํธ ์ฐ์ธก ํด๋ฆญ team-Share Project ํด๋ฆญ ์ ๋ก๋ ํ ํ๋ก์ ํธ๊ฐ ์ ์ฅ๋ ํด๋๋ฅผ ๋ก์ปฌ ์ ์ฅ์๋ก ์ง์ ํ๋ ์์ ํ๋ก์ ํธ ํด๋์ .git ํด๋ ์๊ธด ๊ฒ ํ์ธ ๊ฐ๋ฅ ์๋ ๋ฒํผ ํด๋ฆญํ์ฌ ๊น ํ์คํํฐ๋ธ๋ก ์ด๋ ํ๋ก์ ํธ์์ Remotes - createRemotes ํด๋ฆญ url์ ์๊ฒฉ ์ ์ฅ์ url ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ๊ธฐ! ์ ๋ก๋ํ ํ๋ก์ ํธ ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ธฐ push HEAD ํด๋ฆญ ์๋ ๊ทธ๋ฆผ์ฒ๋ผ ๋จ๋ฉด ์ฑ๊ณต์ ์ผ๋ก ์ ๋ก๋ ๋ ๊ฒ. git์ ์๊ฒฉ ์ ์ฅ์๋ฅผ ํ์ธํด๋ณด๋ฉด ํ๋ก์ ํธ ์ ๋ก๋..
2023.05.10 -
ํจ์
๊ธฐ๋ณธ ํจ์ # ๊ธฐ๋ณธํจ์ def hello() : print('hello') hello() ๋งค๊ฐ๋ณ์๊ฐ ์๋ ํจ์ # ๋งค๊ฐ๋ณ์๊ฐ ์๋ ํจ์ def hello2(name, age) : print(f'์ด๋ฆ์ {name}์ด๊ณ ๋์ด๋ {age}') hello2('ํ๊ธธ๋', 20) # ๋งค๊ฐ๋ณ์ ์์ ์๊ด ์์! hello2(name = '์ด์์ ', age = 30) hello2(age = 30, name = '์ด์์ ') ๋งค๊ฐ๋ณ์๊ฐ ์๋๋ฐ ํจ์ ํธ์ถํ ๋ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฃ์ผ๋ฉด ๋ํดํธ ๊ฐ์ผ๋ก ์ถ๋ ฅ๋จ. def hello3(name, age = 0) : print(name) print(age) # ๋งค๊ฐ๋ณ์ ์ ๋ฃ์ผ๋ฉด ๋ํดํธ๊ฐ์ผ๋ก ์ถ๋ ฅ๋จ hello3('์ ๊ด์') hello3('์ ๊ด์', 10) ํจ์์ ๋ฆฌํด #๋ฆฌํด์ด ์๋ ํจ์..
2023.05.10