본문 바로가기
반응형

파이썬36

python 데이터베이스 select, insert 조회 삽입 python으로 mysql 데이터베이스 select, insert 하기 python 데이터베이스 조회 select import pymysql conn = pymysql.connect( host='127.0.0.1', port=3306, user='username', password='password!!*', db='db-name', charset='utf8' ) try: with conn.cursor() as cursor: sql = "select * from table_name" cursor.execute(sql) result = cursor.fetchall() finally: conn.close() python 데이터베이스 삽입 insert import pymysql conn = pymysql.con.. 2019. 11. 29.
python url 문자열 변환 url 한글 인코딩 디코딩 url 에 한글이 포함될 경우 오류가 나는 경우가 있다. 이때 한글을 url 인코더로 바꿔서 입력해야 한다. urllib 의 quote 와 unquote 사용 quote() : 한글 -> url unquote() : url -> 한글 import urllib urllib.parse.quote("안녕하세요") >>> '%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94' urllib.parse.unquote("%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94") >>> '안녕하세요' 2019. 11. 29.
pandas 데이터 선택 selection 판다스에서 행이나 열을 선택하는 방법 데이터는 기상자료개방포털에서 서울시 기후 데이터를 다운받아 data.csv로 파일명을 바꾸고 해당 소스가 있는 폴더에 넣어 사용 pandas의 read_csv("파일명.csv") csv파일에서 데이터를 가져와 DataFrame을 반환한다. 인코딩 형식의 오류가 발생했을 때는 encoding 인자에 인코딩 형식을 넣어준다. 우리나라 공기관에서 데이터를 받아 저장했을 경우 인코딩 형식이 "CP949" 일 수 있다. import pandas as pd df = pd.read_csv("./data.csv", encoding='utf-8') df.head() 지점번호지점명일시평균기온평균최고기온최고기온최고기온일자평균최저기온최저기온최저기온일자 0108서울09-Jan-2.02.31.. 2019. 8. 9.
Pandas 시리즈 series 생성 및 기본 pandas 판다스 구조화된 데이터의 처리를 지원하는 파이썬 라이브러리 파이썬계의 엑셀 시리즈 Series - 데이터프레임 중 하나의 column에 해당하는 데이터의 모음 시리즈는 인덱스와 데이터로 이뤄짐 리스트에서 더 발전된 형태 데이터프레임 DataFrame - 시리즈들의 모음 넘파이를 기본으로 사용하여 넘파이에서 사용하는 기능을 사용할 수 있다. pandas의 Series를 import 한다 from pandas import Series 리스트로 시리즈 생성 data_list = [1, 2, 3, 4, 5] series = Series(data=data_list) series 0 1 1 2 2 3 3 4 4 5 dtype: int64 data 인자에 리스트나 딕셔너리 데이터, index 인자에 인덱.. 2019. 8. 9.
Numpy 배열의 데이터 비교 방법(any, all, where, isnan, argmax, argmin) np.any(조건) - 배열의 데이터 중 조건과 맞는 데이터가 있으면 True 전혀 없으면 False arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) np.any(arr > 5) True np.any(arr 5) False np.all(arr < 10) True 배열의 같은 위치에 있는 요소간의 비교 배열의 shape이 같아야 함 비교연산자 ==, 로 배열 요소 비교 arr1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) arr2 = np.array([[1, 2, 3], [1, 5, 7], [.. 2019. 8. 8.
Numpy 사칙연산, Transform, 브로드캐스팅 넘파이는 사칙연산 +, -, *, / 를 사용하여 두 배열의 요소들간의 사칙연산을 할 수 있음 arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([[2, 3, 4], [5, 6, 7]]) arr1 + arr2 array([[ 3, 5, 7], [ 9, 11, 13]]) arr2 - arr1 array([[1, 1, 1], [1, 1, 1]]) arr1 * arr2 array([[ 2, 6, 12], [20, 30, 42]]) arr2 / arr1 array([[2. , 1.5 , 1.33333333], [1.25 , 1.2 , 1.16666667]]) 같은 위치의 요소와 연산하므로 두 배열의 shape는 같아야 연산할 수 있고 shape가 다르면 valu.. 2019. 8. 8.
Numpy 연산(sum, mean, std, exp, vstack, hstack)과 axis의 의미 sum() - 배열의 모든 요소들의 합을 구함 arr = np.array([1,2,3,4,5]) arr.sum(dtype=np.float) 15 sum(axis=0) - axis 어떤 축을 기준으로 연산할 것인가 지정. (3, 4)의 shape인 행렬을 axis=0으로 지정하면 row를 기준으로 연산 axis=1으로 지정하면 column을 기준으로 연산 shape의 가장 앞부터 0 다음 예는 (3,2,4) 행렬의 sum 연산이다. arr = np.array([ [[1, 2, 3, 4], [5, 6, 7, 8]], [[1, 2, 3, 4], [5, 6, 7, 8]], [[1, 2, 3, 4], [5, 6, 7, 8]]]) arr.shape (3, 2, 4) print(arr.sum(axis=0)) [[ 3.. 2019. 8. 7.
Numpy 배열 생성 방법(arange, zeros, ones, random) arange() - 파이썬의 range와 같음 np.arange(숫자) np.arange(최저값, 최고값, 스텝) 리스트와 다르게 소수를 step으로 할 수 있음 np.arange(0, 5, 0.5) np.arange(20).reshape(4,5) zeros() - 모든 요소가 0인 배열 np.zeros(shape=(10,), dtype=np.int8) np.zeros((3,4)) ones() - 모든 요소가 1인 배열 np.ones(shape=(10,), dtype=np.int8) np.ones((3,4)) empty() - 모든 요소가 비어있는 배열 생성 어떤 값으로 초기화 하지 않고 메모리만 잡아주기 때문에 현재 메모리에 있는 값 그대로 사용 np.empty(shape=(10, ), dtype=np.. 2019. 8. 7.
Numpy 요소선택 인덱싱, 슬라이싱 (indexing, slicing) 넘파이 인덱싱 인덱싱은 배열의 요소에 접근하는 방법이다. 첫번째 행의 두번째 열의 값이라면 arr = np.array([[1, 2, 3, 4],[5, 6, 7, 8]]) arr[0][1] 2 2가 선택된다. 아래와 같이 ,콤마로 구분해서 선택할 수 도 있다. arr[0,1] 2차원 배열이기 때문에 하나의 숫자만 입력하면 행 전체가 선택된다. arr[0] array([1, 2, 3, 4]) 배열의 범위를 벗어나게 되면 Index 오류가 뜬다. arr[5][1] IndexError: index 5 is out of bounds for axis 0 with size 2 고차원의 배열도 가장 바깥쪽의 대괄호부터 선택하면 된다. arr = np.array([[[1, 2, 3, 4], [5, 6, 7, 8]], [.. 2019. 8. 7.
Numpy shape 변환 (reshape, flatten) Numpy 배열의 shape 변환 (reshape(), flatten()) arr.reshape() reshape 할 때는 총 개수가 맞아야 한다. 즉 size가 같아야 shape을 변환할 수 있음 아니면 ValueError: cannot reshape array of size x into shape (x, x) 에러가 발생한다. (2, 4) 배열 생성 arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) array([[1, 2, 3, 4], [5, 6, 7, 8]]) 8행으로 shape 변환 arr.reshape(8,) array([1, 2, 3, 4, 5, 6, 7, 8]) 4행 2열의 shape 변환 arr.reshape(4,2) array([[1, 2], [3, 4], .. 2019. 8. 7.
반응형