본문 바로가기

Language/Python

(76)
Python 행렬 연산 np.dot() 딥러닝 신경망에서 행렬의 곱으로 신경망 연산을 할 때 np.dot()을 쓸때가 있습니다. [1, 2]와 [[1, 3, 5], [2, 4, 6]] 을 곱할 때 np.dot()으로 연산을 할 수 있습니다. 그러면 다음과 같은 연산이 이루어 지고 (1 * 1) + (2 * 2), (1 * 3) + (2 * 4), (1 * 5) + (2 * 6) 결과는 [5, 11, 17]이 됩니다. 위 연산을 코드로 표현 하면 import numpy as np x = np.array([1, 2]) w = np.array([[1, 3, 5], [2, 4, 6]]) y = np.dot(x, w) print(y) 결과 [ 5 11 17 ] 2x2 * 2x2는 아래와 같습니다. import numpy as np x = np.arra..
Python 자연어 처리 with konlpy 수집한 데이터에서 키워드를 추출하기 위해 konlpy를 이용했습니다. 위 csv파일은 아래와 같이 생겼습니다. from konlpy.utils import pprint from konlpy.tag import Kkma, Okt import pandas as pd import json okt = Okt() df = pd.read_csv('total_mafra_in_datagokr_v2.csv', dtype={'id':'str'}) df = df[['id', 'name', 'title1', 'title2', 'title3']] result = [] cnt = 0 for row in df.iterrows(): row1 = row[1] print(cnt, row1['name'], row1['title1'], r..
영문 대문자와 숫자를 분리해주는 Python함수 개요 한 학생, 고객, 승객을 고유 값으로 구분하는 ID를 부여 할 때 예를들어 A반에 10번이라고 하면 ID를 A10으로 부여 함으로써 A반에 10번이라는 것을 ID로 표현을 합니다. A반의 10번 뿐만 아니라 A객실에 10번 고객 이런식으로 흔하게 쓰이는 형태 입니다. 여기에서 ID A10, A6, B4 등의 ID를 가지고 해당 학생이 어떤 반에 속하는지만 추출하고 싶은 경우 아래 함수를 통하면 A6 => A, A10 => A 이렇게 알파벳만 나옵니다. import re def get_class(room_code): match = re.match(r"([A-Z]+)([0-9]+)", room_code, re.I) if match: items = match.groups() return items[0] ..
Python Multi Threading crawl python multi threading crawl 멀티스레딩은 아래와 같이 여러 페이지를 크롤 해야 하는 경우 http request의 response가 순차적으로 실행되야 한다면 1000개 page를 크롤 한다고 하면 시간이 오래 걸릴 수 있습니다. 그래서 병렬처리를 하는데 병렬처리를 할 때는 Thread를 씁니다. import time from threading import Thread import requests total_page = 1000 def run(idx, results): url = 'http:///app/test/hpa' print(idx, url) res = requests.get(url) print(res, res.content) results = [None] * total_pa..
Python에서 Mysql에 연결하고 select한 결과 출력하기, pandas로 insert하기 Python으로 db작업을 하려면 일단 connection을 맺고 query를 날려야 합니다. 일단 db는 생성해서 위 4개의 row를 넣은 상태입니다. 아래 코드는 그 코드이다. db이름은 hello_db입니다. 라이브러리는 mysql-connector를 설치해주면 됩니다. import mysql.connector mydb = mysql.connector.connect( host="localhost", user="root", password="12345678", database='hello_db' ) cursor = mydb.cursor() query = ("select * from users") cursor.execute(query) for ddd in cursor: print(ddd) python에..
pandas 실전 데이터 분석 강의 두줄 요약 - 판다스를 이용해 실전에서 많이 나오는 데이터 처리 패턴을 배워 보고 처리한 데이터를 분석 해봅니다. Section0.개발 환경 설정 python3, pycharm설치하기, git설치하기 - project 생성하기 - hello출력하기 - pycharm 글자 크기 수정하기 - pycharm으로 git clone하기 - pycharm사용 방법 Section1.데이터 불러오기 CSV파일을 pd.DataFrame()으로 불러오기 - Pycharm에서 pandas설치 - 제대로 불러왔는지 확인하기(개수 세기) - .head(5)로 데이터의 형태 확인 하기 두가지 데이터 합치기 .merge() - 조건 두가지로 필터링 할 때 각각의 조건이 다른 데이터에 있는 경우 - key란? - 데이터 합치고..
pandas loc, apply적용 예제 data = {'contestants': ('Alex', 'John', 'Sam', 'Alex', 'John', 'Sam', 'Alex', 'John', 'Sam'), 'round': (1, 1, 1, 2, 2, 2, 3, 3, 3), 'score1': (84.5, 91.4, 92.2, 85.2, 88.1, 83.1, 80.2, 93.5, 82.1), 'score2': (88.2, 89.8, 88.7, 86.3, 89.0, 83.1, 79.9, 92.8, 80.9), 'score3': (84.1, 90.2,..
python3 ssl인증 Basic통과 하기 ssl Basic인증 통과하기 import http.client, json, ssl, base64 def convertByteToGiga(byte): return byte / 1024 / 1024 / 1024 def getApiResponse(query): auth = str.encode("%s:%s" % ('root', '')) user_and_pass = base64.b64encode(auth).decode("ascii") headers = {"Authorization":"Basic {}".format(user_and_pass), "Accept":"application/json"} conn = http.client.HTTPSConnection('0.0.0.0', 8080, context=ssl._cr..