workSpace/PYTHON

workSpace/PYTHON

    [Pandas] 판다스 기초 상식 및 함수 정리 4 - pivot_table

    [Pandas] 판다스 기초 상식 및 함수 정리 4 - pivot_table

    1. Pivot Table¶ 엑셀 = pivot table 기능이 있다. 이것과 동일한 기능 Pandas에서는 pivot_table() 함수를 제공 피봇함수 역할? df.pivot_table( values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False, ) In [1]: import numpy as np import pandas as pd from pandas import Series, DataFrame import matplotlib.pyplot as plt In [2]: data = { "도시": ["서울", "서울", ..

    [Pandas] 판다스 기초 상식 및 함수 정리 3 - groupby

    [Pandas] 판다스 기초 상식 및 함수 정리 3 - groupby

    1. 데이터 그룹 연산 - group by¶통계자료에서 그룹 함수 가장 많이 사용한다.그룹핑 시키는방법합, 평균, 최대, 최소... 총합 기능이 다 제공된다사용자 정의 함수 만들고 가져다 쓰는 방법도 소개df.groupby(by=None,axis=0,level=None,as_index: bool = True,sort: bool = True,group_keys: bool = True,squeeze: bool = ,observed: bool = False,dropna: bool = True,)In [1]: import numpy as npimport pandas as pdfrom pandas import Series, DataFrameimport matplotlib.pyplot as plt I..

    [Pandas] 판다스 기초 상식 정리 및 함수 응용 2 - 서울시 구별 CCTV 현황 분석하기

    [Pandas] 판다스 기초 상식 정리 및 함수 응용 2 - 서울시 구별 CCTV 현황 분석하기

    서울시 구별 CCTV 현황 분석하기¶ In [1]: import numpy as np import pandas as pd import matplotlib.pyplot as plt In [2]: #다운로드 받은 01. CCTV_in_Seoul.csv 파일을 읽으세요. encoding='utf-8' 로 읽으세요. CCTV_Seoul = pd.read_csv('../data/01. CCTV_in_Seoul.csv', encoding='utf-8') CCTV_Seoul.head() Out[2]: 기관명 소계 2013년도 이전 2014년 2015년 2016년 0 강남구 2780 1292 430 584 932 1 강동구 773 379 99 155 377 2 강북구 748 ..

    [Pandas] 판다스 기초 상식 정리 및 함수 응용 1 - 서울시 기간별 시간평균 대기환경 정보 데이터 분석

    [Pandas] 판다스 기초 상식 정리 및 함수 응용 1 - 서울시 기간별 시간평균 대기환경 정보 데이터 분석

    서울시 기간별 시간평균 대기환경 정보 데이터 분석¶ 데이터 제공 (서울 열린데이터 광장, 서울시 기간별 시간평균 대기환경 정보) https://data.seoul.go.kr/dataList/datasetView.do?infId=OA-2221&srvType=S&serviceKind=1&currentPageNo=1 In [1]: import numpy as np import pandas as pd from pandas import DataFrame, Series 대기환경 정보 데이터를 불러옵니다.¶ 서울시 기간별 시간평균 대기환경 정보.csv In [2]: # pd.read_csv('../data/...') df = pd.read_csv('../data/서울시기간별시간평균대기환경정보.csv', encodin..

    [Pandas] 판다스 기초 상식 및 함수 정리 2 - concat, merge

    [Pandas] 판다스 기초 상식 및 함수 정리 2 - concat, merge

    In [1]: import numpy as np import pandas as pd from pandas import Series, DataFrame import matplotlib.pyplot as plt 데이터 병합 - Concat, Merge¶ 서로 다른 DataFrame을 하나로 합치는 작업 1. Concat() - Concatenate - 단순히 하나의 DataFrame에 다른 DataFrame을 연속적으로 붙이는 방법 위,아래로 합치는 것(기본 값)이지만 좌,우로도 연결 가능하다 - outer join이 기본방식이다. (key가 중요) keys를 이용한 concat이 가능하다. 2. Merge() (옆으로 붙임) - 컬럼과 인덱스가 같아야 한다. 두개의 DataFrame에 공통적으로 포함되어져..

    [Pandas] 판다스 기초 상식 및 함수 정리 1 - Series, DF 기본함수

    [Pandas] 판다스 기초 상식 및 함수 정리 1 - Series, DF 기본함수

    중요한 함수 요약 isna() isnull() 데이터값이 NaN값이라면 True, 아니면 False를 반환. notna() notnull() isna()와 반대로 데이터값이 NaN값이 라면 False, 아니면 True를 반환 read_csv() read_excel() read_html() 주로 데이터프레임을 만들때 사용되는 함수들이다. encoding='utf-8' 또는 encoding='CP949'를 사용해 한글을 불러온다. 하나의 데이터 프레임은 서로다른 dtype을 갖고 있는 시리즈들이 담겨 있으며, 보통은 각 column마다 한 시리즈라고 생각하면 편하다. 각, 시리즈는 heterogeneous tabular data이다. 그래서 다양한 dtype을 갖게된다 또한, 시리즈는 ndarray타입으로 ..

    [Numpy] 넘파이 기초 상식 및 함수 정리 - 기초 함수, 응용 문제

    [Numpy] 넘파이 기초 상식 및 함수 정리 - 기초 함수, 응용 문제

    Numpy는 Numeric Python의 줄인말이다. 수학분야 관련된 통계나 연산작업시 사용하는 라이브러리이다. 과학계산 컴퓨팅과 수학적인 데이터분석에 필요한 기본적인 패키지라고 할 수 있다. 파이썬의 리스트와 거의 흡사하다 리스트보다 빠르고 메모리 효율성이 높아서 성능적인 측면에서 훨씬 우위를 차지한다. In [1]: import numpy as np 1-1. Numpy배열과 리스트를 비교¶ numpy의 array함수 사용¶ In [2]: myList = [1,2,3,4,5] print(myList) [1, 2, 3, 4, 5] In [3]: myArr = np.array(myList) print(myArr) [1 2 3 4 5] In [4]: ''' list - python ndarray - Nump..

    [Numpy] Numpy 문제 모음 정답 및 설명 (100 numpy exercises) - ing

    [Numpy] Numpy 문제 모음 정답 및 설명 (100 numpy exercises) - ing

    1. np이름으로 numpy 패키지를 가져옵니다. (★☆☆) import numpy as np 2. numpy 버전과 구성을 출력합니다. (★☆☆) print(np.__version__) np.show_config() 3. 사이즈 10의 Null 벡터를 생성합니다. (★☆☆) Z = np.zeros(10) print(Z) 4. 모든 배열의 메모리 크기 찾기 (★☆☆) Z = np.zeros((10,10)) print("%d bytes" % (Z.size * Z.itemsize)) 5. 명령행에서 numpy add 기능의 설명서를 얻는 방법은 무엇입니까? (★☆☆) %run `python -c "import numpy; numpy.info(numpy.add)"` 6. 크기 10의 Null 벡터를 생성하되,..

    [Numpy] Numpy 문제 모음 (100 numpy exercises)

    [Numpy] Numpy 문제 모음 (100 numpy exercises)

    1. Import the numpy package under the name np (★☆☆) 2. Print the numpy version and the configuration (★☆☆) 3. Create a null vector of size 10 (★☆☆) 4. How to find the memory size of any array (★☆☆) 5. How to get the documentation of the numpy add function from the command line? (★☆☆) 6. Create a null vector of size 10 but the fifth value which is 1 (★☆☆) 7. Create a vector with values ranging fr..

    [DL] 딥러닝 용어 및 설명

    [DL] 딥러닝 용어 및 설명

    모델 = CNN 모델은 학습시킬때 사용된다. 모델은 사람의 뇌 세포의 구조와 비슷하게 만들어졌다고 한다. (CNN = Convolution Neural Networks) 레이어를 3종류로 나눌수 있음. 레이어는 많으면 좋지만 효율적이지 않게 너무 많이 쌓으면 컴퓨터 메모리를 많이 사용해서 컴퓨터에 부하가 생긴다. VGG16는 옥스포드에서 만든 모델로 다양한 모델중 하나이다. CNN = Convolution Neural Networks Convoltion = 합성의 곱 (역할 = 이미지와 합성해서 결과를 뽑아낸다.) 이미지를 필터로 받아서 이미지를 계산해서 feature map처럼 결과를 추출한다. Weight = Convolution에서 학습하려고 하는 대상이라고 볼 수 있다. Y = Wx + B (ou..

    [openCV] openCV 기본 함수 정리 + (간단한 응용프로그램 만들기)

    [openCV] openCV 기본 함수 정리 + (간단한 응용프로그램 만들기)

    이미지는 배열로 구성되있어서 정수와, + - / *등의 연산이 가능하다. 아래 코드를 이해하는데 도움될 데이터의 형태는 아래 사진과 같다. 데이터의 형태를 지정해주는 이유는 이미지는 RGB값으로 데이터 형태를 유지하는데 이를 변경하거나 옵션을 주기위해서 다른 데이터 타입으로 변경했다가 다시 uint8로 변경한다 아래의 코드의 주석들을 보면 좀더 이해하기 쉬울것이다. 이미지 밝기 조절 import cv2 GRAY = 0 COLOR = 1 # 1을 넣으면 되지만 굳이 상수는 만들어서 넣는 이유는 가독성 때문이다. img = cv2.imread('a.jpg', COLOR) img2 = img+100 # 이미지 밝게 처리 img3 = img-100 # 이미지 어둡게 처리 cv2.imshow('img', img)..

    [openCV] openCV 관련 함수 및 설명

    [openCV] openCV 관련 함수 및 설명

    .zeros() .ones() .full(모양,값,타입) .imshow() .waitKey() .destroyAllWindows() .cv2.imread('파일경로', flag) = 이미지 입력 flag - cv2.IMREAD_COLOR: 칼라 이미지. 상수 1 cv2.IMREAD_GRAYSCALE: 흑백 이미지. 상수 0 cv2.IMREAD_UNCHANGED: 알파값도 같이 읽음. 상수 -1 .cv2.imshow(title, img) = 이미지 출력 (title은 해당 이미지창의 제목을 뜻한다.) title - 제목 img - 출력할 이미지 값(numpy배열. cv2.imread()의 반환값) .imwrite(파일경로 , 저장할 이미지) = 파일경로에 imread로 읽어온 이미지를 저장한다. .spli..

    [Python][AI] 자동 투자 주식 봇 설계

    보호되어 있는 글입니다.

    [Python][matplot] matplot(그래프)의 기본 문법 사용법

    [Python][matplot] matplot(그래프)의 기본 문법 사용법

    위와같이 사용할 라이브 러리를 import를 함으로써 사용 할 수 있게 추가 한다 변수명은 plt으로 선언. plot함수는 그래프에 특성이나 속성같은 전체적인 구성을 말하며, plot(x축값 , y축값)을 구성할 수 있게 선언하고 show()함수를 사용해서 그래프를 출력해준다. x 변수에 numpy클래스의 arange함수를 사용해서 전체적인 범위를 지정해준다. arange(-4.5,5,0.5) 함수에서 start=-4.5, stop=5, step=0.5 라는 값을 갖음으로 전체적인 그래프의 길이나 크기를 조정할 수 있다. y 변수에는 2*x**2의 값을 저장해서 x변수에서의 arange함수 값의 크기에 비례하여 2*x^2으로 -2 +2의 격을 갖는 휘어지는 곡선이 만들어 질것이다 figure()함수는 새..

    [Python][BeautifulSoup] 외부 데이터 처리, 웹 크롤링, 기상청 크롤링,주식 크롤링, 그래프 화

    [Python][BeautifulSoup] 외부 데이터 처리, 웹 크롤링, 기상청 크롤링,주식 크롤링, 그래프 화

    1. 공공데이터나 오픈된 데이터를 파일로 다운 받아서 사용한다(csv, 엑셀, xml, json...) 2. 웹 페이지를 읽어서 데이터를 분석(그 웹 페이지 구조를 분석해야한다.) DOM 이란? Document Object Model 문서를 객체화 한다는 말이다. 사용하는 이유는,객체화 하면 소스에서 자유자재로 사용 할 수 있기 때문이다. (소스를 수정할 수 있다.) 웹 개발 할때도 많이 사용하지만 공공데이터를 추출할때 특히 많이 사용한다. 유용하니 꼭 알아둘것~! 자, 그럼 기상청 웹 사이트를 들어가서 파일을 가져와보자. (지역 시간 상태만 분류) ( www.weather.go.kr/weather/forecast/mid-term-rss3.jsp ) json = javascript objeet notat..

    [Python][os] 파일을 활용한 메모장 프로그램

    [Python][os] 파일을 활용한 메모장 프로그램

    import sys import os prompt = """1. 파일 읽기 2. 파일 쓰기 3. 파일 삭제 4. 파일 전체 삭제 5. 종료""" # 1. 읽기 (읽고 싶은 파일을 선택 할 수 있게 구현하기.) def readFile(): print("\n파일 읽기!\n") print(os.listdir(os.getcwd()), '\n') fname = input('파일명을 입력해 파일을 선택하세요 :') if os.path.isfile(fname): file = open(fname, 'r', encoding='utf-8') print('\n', file.read(), '\n') else: print('\n\t파일명을 다시 확인해주세요!!\n') # 2. 쓰기 (파일명을 입력받는데, 중복이 되면 안됨. 중..

    [Python][firebase][os] 파일을 활용한 정보처리기사 프로그램

    [Python][firebase][os] 파일을 활용한 정보처리기사 프로그램

    위는 네비게이션 바입니다. """ 1. firebase 연동 및 회원 가입 로그인 기능 2. Manager, User UI 다르게 만들기. 3. Manager, User 기능 구현(문제를 풀때에는 마지막 정답:1 이 부분이 안나오게 제어하고, 만약 푼 문제가 틀렸으면 오답노트로 파일을 생성해준다.) 4. 패키징 하기. 5. 추가로 쓰레드 사용 하기. """ from random import random """ [클래스 관련 내용] 객체를 먼저 판단해서 나눌지 결정하기. 유저, 매니저, 문제, """ import pyrebase import sys import os import random import shutil # 아래 config는 firebase에서 개인 매니저 마다 연결해주는 고유번호임. (.....

    [Python] 제품입고정리 프로그램 (MVC pattern)

    [Python] 제품입고정리 프로그램 (MVC pattern)

    init.py __all__ = [ 'main', 'productMenu', 'productDao', 'productVO', 'productService' ] # 파일화 하는법 """ 1. 먼저 패키지 만들어준다. 2. 위와같은 클래스파일에 그 해당 클래스파일에 맞는 클래스를 각각 넣어준다. 3. init파일이 자동으로 만들어지면, all 위와같은 선언을 해서 각 클래스파일을 위와 같이 넣어준다. 4. 각 클래스파일가서 import로 연결해준다. """ main.py import Product.productMenu as menu def main(): m = menu.Menu() m.run() main() productDao.py class Dao: # 저장소 : 저장, 검색, 수정, 삭제 def __in..

    [Python] 파일 생성 수정 삭제

    [Python] 파일 생성 수정 삭제

    # 메모라는 디렉토리가 없으면 생성 # 메뉴 : 1.읽기 2.쓰기 3.삭제. 4.전체삭제 # 읽기 : 파일명 읽어서 파일 내용 보여주기 # 쓰기 : 파일명을 입력받는데 중복되면 안됨, 저장할 내용 입력받음. # 삭제 : 파일 목록을 보여주고 삭제할 파일 선택 후 삭제 # 전체 삭제 : 메모 디렉토리 삭제 # 파일 있으면 '이어쓰기' import os def print_menu(): print("==== 메뉴 ====") print("1. 읽기") print("2. 쓰기") print("3. 삭제") print("4. 전체 삭제") print("5. 종료") print("=============") def proc_read(): filename = input("파일 이름:") if not os.path.i..

    [Python] 주소록 프로그램

    [Python] 주소록 프로그램

    prompt = """ 1. 추가 2. 검색(이름) 3. 수정 4. 삭제 5. 전체 출력 6. 전체 삭제 7. 종료 Enter number : """ userList = [] def add(): global userList userInfo = nameCheck() userList.append(userInfo) def nameCheck(): while True: name = input("이름 :") phoneNum = int(input("전화번호 :")) address = input("주소 :") userInfo = [name, phoneNum, address] search(name) if name == search(name): print('중복된 이름') else: break return userInfo..

    [Python] 제품입출력 프로그램 (MVC pattern)

    [Python] 제품입출력 프로그램 (MVC pattern)

    class Product: cnt = 0 # 클래스 변수. 제품의 개수 카운팅 def __init__(self, name, price, amount): # 객체가 생성 될때마다 호출된다. Product.cnt += 1 # 중복되지 않게 카운트해준다. self.num = Product.cnt self.name = name self.price = price self.amount = amount def printProduct(self): print('num:', self.num) print('name:', self.name) print('price:', self.price) print('amount:', self.amount) class Dao: # 저장소 : 저장, 검색, 수정, 삭제 def __init__..

    [Python] 성적입출력 프로그램 (MVC pattern)

    [Python] 성적입출력 프로그램 (MVC pattern)

    # 1명의 학생을 정의하는 클래스 class Student: # 한 학생의 정보 및 성적처리 . 캡슐화 (주의할 점~! C언어나, 자바처럼 구현x, 하나라고 생각해야한다.) def __init__(self, name, number, kor, eng, math): # 생성자로 각 멤버변수 생성. self.name = name # 파라메터로 받아서 멤버변수에 저장한다. self.number = number self.kor = kor self.eng = eng self.math = math def calculrator(self): # 점수를 계산하는 메서드 self.total = self.kor + self.eng + self.math self.avg = self.total / 3 def printInfo(s..

    [Python] bubble, insert, select sorting + 이진탐색

    [Python] bubble, insert, select sorting + 이진탐색

    n = [9, 2, 4, 1, 10, 8, 6, 5, 7, 3] # bubble sort for i in range(0, len(n) - 1): for j in range(0, len(n) - 1 - i): if n[j] > n[j + 1]: tmp = n[j] n[j] = n[j + 1] n[j + 1] = tmp print('bubble sorting : ', n) n = [8, 3, 6, 10, 9, 1, 7, 2, 4, 5] print(n) search_num = int(input('search_num:')) # i가 0-n까지 if n[i]==search_num 을 만족하는 방이 있는가를 비교 flag = True for i in range(0, len(n)): if search_num == n..

    [Python] 리스트 요소의 합과 평균, 최대값, 최소값 출력하기.

    [Python] 리스트 요소의 합과 평균, 최대값, 최소값 출력하기.

    n=list()# n=[] for i in range(0, 10): n.append(int(input('num:'))) s = 0 for i in n: s+=i #합 계산 print(i, end=', ') print() f = s/len(n) #평균계산 m1=m2=n[0] #m1:최대값, m2:최소값 for i in n: if m1i: #최소값 찾기 m2=i print('합:', s, '/ 평균:', f) print('최대값:', m1, '/ 최소값:', m2)

    [Python] 기본 문법. (복붙해서 사용하기)

    [Python] 기본 문법. (복붙해서 사용하기)

    ''' list = [] prompt = """ 1. 추가 2. 검색(이름) 3. 수정 4. 삭제 5. 전체 출력 6. 종료 Enter number : """ number = 0 while number != 6: print(prompt) number = int(input()) if number == 1: print() elif number == 2: print() elif number == 3: print() elif number == 4: print() elif number == 5: print() ''' # [수업] # 변수 선언 안해줘도 됨 for i in range(1, 5): print(i, end="") print() # range(시작값, 끝값, 증가값)

    [Python][Tkinter] tkinter를 이용한 영단어 프로그램

    [Python][Tkinter] tkinter를 이용한 영단어 프로그램

    참고 - 사용하지 않은 클래스 파일도 있습니다~!~! Menu[pakcage] A1WANote.py from tkinter import * from tkinter import messagebox from tkinter import ttk from random import randint def note(): # 삭제하는 함수 # def rubber(): # with open("Text/incorrect.txt", "r") as input: # with open("Text/incorrect.txt", "w") as output: # for line in input: # if line.strip("\n") != qWord: # output.write(line) # 문제 생성하는 함수 def QMaker(): ..

    [Python] tkinter 기본 사용법

    [Python] tkinter 기본 사용법

    # TODO : step 1 import tkinter as tk # TK 객체 생성. (기본 윈도우 객체) window = tk.Tk() # 레이블, 입력박스, 라디오버튼, 버튼 등의 기능 또는 객체를 클래스로 만들어 놔서 아래 처럼 바로 사용 할 수 있다. # 출력될 문자열을 text속성으로 지정하고, 레이블 루트를 생성해준다. # 뷰 위젯의 하나인 레이블 객체 생성. label = tk.Label(window, text='hello world') # .pack()의 함수를 사용해서 기본 윈도우 창에 객체를 붙여준다. # 위젯(레이블, 버튼)을 윈도우에 붙임. label.pack() # UI 쓰레드를 실행해서 화면에 출력. # 화면을 계속 유지 하는 함수 mainloop(). window.mainlo..

    [Python][mysql] 게시판

    [Python][mysql] 게시판

    article (package) init.py __all__=[ 'vo', 'dao', 'service', 'menu' ] dao.py import pymysql import 게시판.article.vo as vo class Dao: def connect(self): return pymysql.connect(host='localhost', user='testuser', password='testpw', db='testdb', charset='utf8') def insert(self, a): conn = self.connect() sql = 'insert into board(writer, w_date, title, content) values(%s, now(), %s, %s)' cursor = conn.cu..