일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- SQL
- 파이썬
- 통계학
- 월간결산
- Ga
- 매틀랩
- matplotlib
- Linux
- Google Analytics
- 서평
- MATLAB
- 파이썬 시각화
- Blog
- 티스토리
- python visualization
- MySQL
- Visualization
- 리눅스
- Tistory
- 한빛미디어서평단
- Python
- 텐서플로
- 시각화
- 서평단
- tensorflow
- 딥러닝
- 독후감
- 한빛미디어
- Pandas
- 블로그
- Today
- Total
목록ComputerLanguage_Program (320)
pbj0812의 코딩 일기
0. 목표 - 육각형 모양의 방사형 차트 구현 1. 플로우 차트 - cos, sin으로 각 좌표의 x, y 좌표 계산 - 육각형을 세우기 위하여 30도씩 빼줌 2. 구현 1) library 호출 import matplotlib.pyplot as plt import numpy as np 2) 제곱근 def sqrt(inp): result = inp/2 for i in range(30): result = (result + (inp / result)) / 2 return result 3) 좌표 계산 - 마지막에는 처음의 좌표를 한번 더 넣어 그림을 그릴때 끝 부분을 이어지게 만들어줌 def honeycomb_list(inp): result_x = [] result_y = [] for i in range(6):..
0. 목표 - LAG 함수를 이용하여 전일대비 금일의 증가량 계산 1. 실습 1) 테이블 생성 SELECT DATE, category, Price, IFNULL(LAG(Price, 1) OVER (PARTITION BY Category ORDER BY DATE), 0) AS Price2 FROM lag_test ORDER BY DATE 2) 데이터 삽입 INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-01', 'a', 100); INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-02', 'a', 200); INSERT INTO lag_test(DATE, Category, Price) VAL..
0. 목표 - PyQt 를 활용하여 정해진 반복횟수 만큼 주어진 작업을 반복하는 앱 제작 1. 플로우 차트 2. 실습 1) library 호출 import sys from PyQt5.QtWidgets import * 2) class 및 함수 생성 (1) initUI - 버튼 생성 - 버튼 위치 생성 - le 의 결과는 buttonClick 으로 보내버림 (2) buttonClick - 1번 라디오 버튼이 클릭된 상태면 1 출력, 2번 라디오 버튼이 클릭된 상태면 2 출력 - 이를 push 버튼(btn)과 연결 - le 에서 받은 값을 변수로 만들어 반복문의 반복 횟수로 사용 class MyApp(QWidget): def __init__(self): super().__init__() self.initUI(..
0. 목표 - PIL을 이용한 이미지 생성시간 추출 * os.path.getmtime()을 이용해도 됨 1. 실습 1) library 호출 from PIL import Image 2) 이미지 호출 imgfile = './kalimba_ori.jpeg' img = Image.open(imgfile) 3) 메타 데이터 확보 meta_data = img._getexif() 4) 메타 데이터 확인 - 36867 이 생성시각 print(meta_data) - 결과 {36864: b'0220', 37121: b'\x01\x02\x03\x00', 37377: (491, 100), 36867: '2020:10:17 00:42:57', 36868: '2020:10:17 00:42:57', 37378: (153, 100)..
0. 목표 - 아래와 같은 타임스탬프 어플 클론 코딩 1. 실습 1) 사진 준비 2) library 호출 import cv2 import numpy as np from PIL import Image import math import time import datetime 3) 이미지 불러오기 imgfile = './kalimba_ori.jpeg' image = cv2.imread(imgfile) 4) 정사각형으로 만들기 - 어플의 형태는 정사각형 그림이므로 위 사진을 정사각형으로 변형 - x 보다 y가 크면 최소 길이를 y로 잡고 반대면 x로 잡음 - 사진의 중앙에서 최소 길이의 절반만큼 빼고 더한 구간을 새로운 이미지로 설정 x, y, z = np.shape(image) if x > y: min_len ..
0. 목표 - not in 과 left join 연산 시간 비교 실험 - index 변경 / 추가 1. 실습 준비 1) 데이터 및 테이블 생성 (링크) 2) index 확인 - 없음 SHOW INDEX FROM sql_test.df_a; SHOW INDEX FROM sql_test.df_b; 3) 테이블에 index 추가 ALTER TABLE sql_test.df_a ADD INDEX idx (a); ALTER TABLE sql_test.df_b ADD INDEX idx (a); 4) index 확인 - btree 형식 SHOW INDEX FROM sql_test.df_a; SHOW INDEX FROM sql_test.df_b; 2. 실습1 1) not in 을 통한 연산 - 0.084 sec / 0.0..
0. 목표 - not in을 통한 제거와 left join 이후 where 를 통한 제거간의 연산 시간 비교 실험 1. 실습 1) 데이터 생성 - df_a.csv : 10만 - df_b.csv : 1만 import pandas as pd a = [i for i in range(100000)] df_a = pd.DataFrame({'a': a}) df_a.to_csv("./df_a.csv") b = [i for i in range(10000)] df_b = pd.DataFrame({'a': b}) df_b.to_csv("./df_b.csv") 2) 테이블 생성 - Table Data Import Wizard를 통한 테이블 생성 및 삽입 - index 칼럼을 날리고 a만 가져옴 3) 데이터 확인 SELECT..
0. 목표 - bokeh 라이브러리를 통한 산점도 그리기 1. 실습 1) 설치 pip install bokeh 2) 데이터 생성 - x좌표, y좌표, 원의 반지름 순 x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] z = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 3) 데이터 프레임화 df = pd.DataFrame({ 'x' : x, 'y' : y, 'z' : z }) 4) figure 객체 생성 p = figure() 5) 산점도 제작 - radius를 적당히 나눠주지 않으면 원이 튀어나감 p.scatter(df['x'], df['y'], radius=df['z']/10, fill_color='black',..
0. 목표 - celluloid 를 활용한 gif 애니메이션 제작 1. 실습 1) celluoid 설치 pip install celluloid 2) library 호출 import numpy as np from matplotlib import pyplot as plt from celluloid import Camera 3) 피규어 객체 생성 fig = plt.figure() ax = fig.subplots() 4) 카메라 객체 생성 camera = Camera(fig) 5) 데이터 생성 x = np.linspace(0, 2 * np.pi) 6) plot 제작 - x 는 그대로 놔둬서 고정시키고, y가 되는 부분인 np.sin(x) 부분에 i 를 더해줘서 밀려나가는 형식으로 제작 - camera.snape..
0. 목표 - 파동의 개수 구하기 1. 실습 1) library 호출 import numpy as np import matplotlib.pyplot as plt 2) 데이터 생성 - x : 0 ~ 50pi를 1000등분 - y : sin(x) x = np.linspace(0, 50*np.pi, 1000) y = np.sin(x) 3) 그림 fig = plt.figure() fig.set_size_inches(15, 5) plt.plot(x, y) 4) 함수 생성 (1) 더미 리스트를 만들어 전체 평균보다 해당 값이 크면 0, 작으면 1을 채워넣음(0, 1) (2) 결과 리스트를 만들어 더미 리스트에서 현재 위치의 값과 뒤의 위치의 값의 합을 채워넣음(0, 1, 2) (3) 결과 리스트의 값이 1인 위치인..