AI SCHOOL 58

[Python] FinanceDataReader - 2

기간 수익률 비교하기 - 데이터프레임의 기준 첫날을 0으로 맞추고 상승했는지 하락했는지 구하기 - 다른 스케일 값의 상승/하락 비교 - 다른 스케일의 값을 조정할 때 표준화 혹은 정규화 방법 사용 표준화(standardization) : 데이터가 평균으로 부터 얼마나 떨어져 있는지 나타내는 값으로 변환 (Z-score 표준화) : (측정값 - 평균) / 표준편차 표준편차 공식이랑 같음~!! 정규화(normalization) : 데이터의 상대적 크기에 대한 영향을 줄이기 위해 0~1로 변환 (측정값 - 최소값) / (최대값 - 최소값) https://bskyvision.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EB%8D%B0%EC%9D%B4%ED%84%B0-%E..

AI SCHOOL/Python 2023.02.01

[Python] FinanceDataReader - 1

라이브러리 불러오기 import pandas as pd import numpy as np import matplotlib.pyplot as plt import FinanceDataReader as fdr 상장종목 목록 가져오기 url = "https://finance.naver.com/sise/entryJongmok.naver?&page=1" 이 url로 상위 10개 종목 불러오기 df_top10 = pd.read_html(url)[0].dropna() df_top10 전체 상장종목에서 종목 코드와 종목명만 가져오기 fdr.StockListing('KRX').head(3) df_krx = fdr.StockListing('KRX')[['Name', 'Code']] df_krx.head() merge를 통한..

AI SCHOOL/Python 2023.01.31

[Python] 서울 코로나 데이터 분석(EDA) - 2

타시도, 기타 전처리 # 공백 없애기 df['거주구'] = df['거주지'].str.strip() # 타시도 -> 기타 df['거주구'] = df['거주구'].str.replace('타시도', '기타') # 거주구 빈도수 구하기 gu_count = df['거주구'].value_counts() gu_count 변수에 담긴 값 시각화 하기 - 선 그래프: 연속된 데이터 시각화 - 막대 그래프: 범주형(끊어져 있는) 데이터 시각화 # r => red, b=> blue, k => black # h => horizontal 가로 # v => vertical 세로 gu_count.plot.bar() plt.axhline(5000, c="r", ls=":") plt.axvline(5, c="y", ls=":") 두 ..

AI SCHOOL/Python 2023.01.31

[Python] 서울 코로나 데이터 분석(EDA) - 1

서울시에서 코로나 확진자 데이터 제공 이력 처음에는 html 형식 1페이지로 제공 -> 데이터 많지 않았기 때문에 그 다음에는 여러 페이지 제공 API로 변경 API 페이징 추가 요약된 데이터만 제공 => 스타트업에서 서비스 운영하는 것과 비슷 : 처음부터 잘 만들어진 서비스를 제공하기 어렵고, 상황이 어떻게 변화할지 예측하기 어렵게 때문에 서비스를 하면서 프로덕트를 보완해 나간다. 데이터 시각화 도구 라이브러리 로드 # pandas, numpy, matplotlib.pyplot 불러오기 import pandas as pd import numpy as np import matplotlib.pyplot as plt pandas : 분석 numpy : 다차원 연산 pyplot : 시각화 matplotlib ..

AI SCHOOL/Python 2023.01.30

[mini project] 스타벅스 매장정보 수집

스타벅스 서울 매장 가져오기 #라이브러리 불러오기 import requests import json import pandas as pd !pip install -U finance-datareader #코랩 사용시 설치 필요요 import FinanceDataReader as fdr # 스타벅스 서울 매장 가져오는 함수 def get_star() : data = { 'ins_lat':'37.56682', 'ins_lng':'126.97865', 'p_sido_cd':'01', 'p_gugun_cd':'', 'in_biz_cd':'', 'set_date':'', 'iend':'1000'} url = "" response = requests.post(url, data = data) star_list = res..

AI SCHOOL/project 2023.01.29

[mini project] 동의종료 청원 데이터 수집

https://petitions.assembly.go.kr/closed/agreeEnded requests, bs4, pandas, time 불러오기 import time from bs4 import BeautifulSoup as bs import pandas as pd import requests page_no = 1 url = f'' response = requests.get(url) pd.read_json(url, encoding = 'utf-8').info() #98개의 칼럼이 있는 것을 확인 df = pd.read_json(url, encoding = 'utf-8').dropna(axis = 1) df.info() #45개의 칼럼만 남은 것을 확인 df = df[['petitRealmNm','p..

AI SCHOOL/project 2023.01.29

[SQL] 집합 연습문제

SQL 연습문제 9-1 위니브 상품정보1(weniv_product) 테이블과 위니브 상품정보2(weniv_product2) 테이블 간 모든 정보를 조회하시오.(단, 중복 제거하여 조회하시오.) select * from `weniv.weniv_product` as pd1 union distinct select * from `weniv.weniv_product2` as pd2 SQL 연습문제 9-2 위니브 회원(weniv_user) 테이블에서 주문 이력(weniv_order)이 있는 사람의 id을 조회하세요. select id from `weniv.weniv_user` as user INTERSECT DISTINCT select user_id from `weniv.weniv_order` as orders S..

AI SCHOOL/SQL 2023.01.27

[SQL] 집합

1. 집합 - 집합 작업은 둘 이상의 쿼리 결과를 단일 결과로 결합하는 데 사용 - 결합된 쿼리는 동일한 수의 열을 반환해야 함 - 호환 가능한 데이터 유형, 해당 열의 이름은 다를 수 있음 2. UNION(합집합) - UNION은 두 결과 집합의 결과를 결합하고 중복을 제거 - union all은 중복 행을 제거하지 않음 - all : 모든 결과 확인 - distinct : 중복 제거 select * from `weniv.weniv_user` as user1 UNION ALL select * from `weniv.weniv_user3` as user3 select * from `weniv.weniv_user` as user1 UNION DISTINCT select * from `weniv.weniv_u..

AI SCHOOL/SQL 2023.01.27

[SQL] JOIN 연습문제

SQL 연습문제 8-1 회원(users) 테이블과 주문정보(orders) 테이블을 이용하여 모든 주문내역에 회원정보를 표시하세요. 조회 항목 : 주문ID(order_id), 주문한 상품 수량(num_of_item), 회원 이름(first_name, last_name), 주소(street_address), 우편번호(postal_code), 도시(city), 국가(country) SELECT t2.order_id, t2.num_of_item, t1.first_name, t1.last_name, t1.street_address, t1.postal_code, t1.city, t1.country FROM `thelook_ecommerce.users` as t1 left join `thelook_ecommerce...

AI SCHOOL/SQL 2023.01.26

[SQL] 조건분기(CASE, IF)

1. 조건분기 SELECT CASE WHEN 조건 THEN 참일 경우_실행구문 ELSE 거짓말일 경우_실행구문 END SELECT CASE WHEN floor = 1 THEN '1층 입니다.' WHEN floor = 2 THEN '2층 입니다.' WHEN floor = 3 THEN '3층 입니다.' WHEN floor = 4 THEN '4층 입니다.' ELSE '층수가 없어요' END; 이렇게 여러 조건이 있을 때 첫번째 조건에서 바로 충족되면 첫번째 조건에서 끝남 Oracle의 경우에는 DECODE, CASE WHEN MsSQL의 경우에는 CASE WHEN MySQL의 경우에는 IF, CASE WHEN SELECT order_id, user_id, status, case when status = 'sh..

AI SCHOOL/SQL 2023.01.26