출처: https://astrocosmos.tistory.com/202 [ASTROCOSMOS:티스토리] 하나둘셋넷 :: 하나둘셋넷
728x90

프로그래머스_평균 일일 대여 요금 구하기

SELECT ROUND(SUM(DAILY_FEE) / COUNT(*),0 )  as AVERAGE_FEE
    FROM CAR_RENTAL_COMPANY_CAR
    WHERE CAR_TYPE = 'SUV'
728x90
728x90

프로그래머스_12세 이하인 여자 환자 목록 출력하기

 

 

SELECT PT_NAME, 
        PT_NO, 
        GEND_CD, 
        AGE, 
        IFNULL(TLNO, 'NONE') as TLNO
        
    FROM PATIENT
    
    WHERE AGE<= 12 AND GEND_CD = 'W'
    
    ORDER BY AGE DESC, PT_NAME;

 

728x90
728x90

3월에 태어난 여성 회원 목록 출력하기

-- 코드를 입력하세요
SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH,"%Y-%m-%d") AS DATE_OF_BIRTH

    FROM MEMBER_PROFILE
    
    WHERE MONTH(DATE_OF_BIRTH)=3 AND GENDER = 'W' AND TLNO IS NOT NULL
    
    ORDER BY MEMBER_ID ASC;
728x90
728x90

SQL 이론] ORDER BY, WHERE

 

정렬 X

SELECT * FROM TABLE1;

 

오름차순

SELECT * FROM TABLE1 ORDER BY COLUMN1 ASC;

 

오름차순 ASC 생략

SELECT * FROM TABLE1 ORDER BY COLUMN1;

 

내림차순

SELECT * FROM TABLE1 ORDER BY COLUMN1 DESC;

 

여러 컬럼 기준

SELECT * FROM TABLE1 ORDER BY COLUMN1 ASC, COLUMN2 ASC;

 

조건식 적용

SELECT * FROM TABLE1 WHERE CONDITION1 ORDER BY COLUMN1

 

컬럼 번호로 정렬

SELECT * FROM TABLE1 WHERE CONDITION1 ORDER BY 1 DESC, 2 ASC

 

728x90
728x90

11.20(월)~ 11.26(일) 미프 6차, 기획서

미니 프로젝트 6차 진행

 

 

ㆍ 6차 미니 프로젝트에서는 클라우드, IT 인프라에서 배운 내용들을 종합하여 직접 인프라 구성도를 작성하였다.

 

 이번 미니 프로젝트에서 조장을 맡았는데, 유난한 이번 프로젝트는 중간중간 튜터님께 발표를 하는 것도 많았고,

 

 화요일에는 예상 밖으로 갑자기 우리 조에 관심이 쏠려, 조장으로서 발표 또한 진행하였다.

 

 사실, 이번 주에는 신경 쓸 일들이 많아서 클라우드 수업 시간에 강하게 집중하지 못해서 미니 프로젝트를 진행하며 어려움을 겪기도 했다.

 

 힘들긴 했지만, 미니 프로젝트를 조장으로서 책임감을 갖고 수행하다보니 클라우드에 대한 이해도를 보다 높일 수 있는 기회였다고 생각한다.

 

발표에 좋은 반응을 보여준 조원들

 

 

예상 밖으로 발표를 하게되었지만, 저번에 발표를 했듯이, 차분하게 생각들을 풀어나가니 어렵지 않게 마무리 할 수 있었고 조원들에게도 좋은 반응을 얻을 수 있어 기분이 좋았다.

 

부족한 내용은 그날 바로 복습

 

 

 

ㆍ 위와 같이 프로젝트를 진행하다가 어렵게 느껴지는 부분이 있었던 날에는 수업 끝나고 바로 부족한 내용에 대해 공부를 하고 티스토리에 정리를 하였다.

 

 

제안서 작성 시작

 

DX 컨설턴트로서 중요한 덕목 중 하나인 제안서 작성 방법에 대한 수업을 목요일부터 시작하였다.

 

직접 제안서를 작성하려다 보니, 평소에 뉴스를 많이 봐두는 것이 중요하다고 생각하였다.

 

좋은 아이디어를 떠올린다는 것이 어떻게 보면, 코딩보다 어렵게 느껴지기도 했다.

 

나는 고객사를 통신사로 설정하였고, 고령화 사회에서 통신사는 사업 전략을 어떻게 세우는 것이 합리적인지 고민하고 있다.

728x90
728x90

주제_실시간_활용_많은_순서

https://www.data.go.kr/tcs/dss/selectDataSetList.do?dType=API&keyword=%EC%8B%A4%EC%8B%9C%EA%B0%84&operator=AND&detailKeyword=&publicDataPk=&recmSe=N&detailText=&relatedKeyword=&commaNotInData=&commaAndData=&commaOrData=&must_not=&tabId=&dataSetCoreTf=&coreDataNm=&sort=reqCo&relRadio=&orgFullName=&orgFilter=&org=&orgSearch=¤tPage=1&perPage=10&brm=&instt=&svcType=&kwrdArray=&extsn=&coreDataNmArray=&pblonsipScopeCode=

 

728x90
728x90

xml.etree.ElementTree

import xml.etree.ElementTree as et

 

bs4, Beautiful Soup Parsing

import bs4

 

pprint

import pprint

 

728x90
728x90

목적

- 실시간 수질 정보 조회 및 생활 용수와 공업 용수의 상태 파악

- 민간 및 기업에 모두 유용한 데이터를 제공하는 것

 

활용 데이터

한국수자원공사_실시간 수도정보 수질(시간) 조회 서비스(GW)

 

 

사용 라이브러리

from datetime import datetime
from datetime import timedelta
import pandas as pd
import requests
import pprint
from os import name
import pandas as pd
import bs4

 

인증키 확인

서비스 URL

http://apis.data.go.kr/B500001/rwis/waterQuality/list 

 

요청 메시지 명세

항목명(영문) 항목명(국문) 항목크기 항목구분 샘플데이터 항목설명
stDt 조회시작일자 10 1 2015-11-18 조회시작일자
stTm 조회시작시간 2 1 00 조회시작시간
edDt 조회종료일자 10 1 2015-11-18 조회종료일자
edTm 조회종료시간 2 1 24 조회종료시간
fcltyMngNo 시설관리번호 10 0 4824012333 시설관리번호
sujCode 사업장코드 3 0 333 사업장코드
liIndDiv 생활공업구분 1 0 1 생활:1, 공업:2
numOfRows 줄수 10 0 10 줄수
pageNo 페이지번호 10 0 1 페이지번호

 

※ 항목구분 : 필수(1), 옵션(0), 1건 이상 복수건(1..n), 0건 또는 복수건(0..n)

오퍼레이션 목록

1) 1시간 수질정보 조회 waterQualityList

2) 정수장 코드 조회 fcltyList

3) 공급지역 정수장 코드 조회 supplyLgldCodeList

 

서비스와 URL 조합

http://apis.data.go.kr/B500001/rwis/waterQuality/list/waterQualityList

http://apis.data.go.kr/B500001/rwis/waterQuality/list/fcltyList

http://apis.data.go.kr/B500001/rwis/waterQuality/list/supplyLgldCodeList

 

파이썬 샘플 코드

 

import requests

url = 'http://apis.data.go.kr/B500001/rwis/waterQuality/list'
params ={'serviceKey' : '서비스키', 'stDt' : '2015-11-18', 'stTm' : '00', 'edDt' : '2015-11-18', 'edTm' : '24', 'fcltyMngNo' : '4824012333', 'sujCode' : '333', 'liIndDiv' : '1', 'numOfRows' : '10', 'pageNo' : '1' }

response = requests.get(url, params=params)
print(response.content)

 

시간 결정

from datetime import datetime
from datetime import timedelta
print(datetime.today())
print(datetime.today().strftime("%Y-%m-%d %H:%M:%S"))
print(datetime.today().strftime("%Y-%m-%d"))

five_years_ago = datetime.today() - timedelta(days = 5*365)
five_years_ago.strftime("%Y-%m-%d")

 

url, params 설정

import pandas as pd
import requests
import pprint

decoding_key = '디코딩_key'

url = 'http://apis.data.go.kr/B500001/rwis/waterQuality/list'
# params ={'serviceKey' : '서비스키', 
#          'stDt' : '2015-11-18', 
#          'stTm' : '00', 
#          'edDt' : '2015-11-18', 
#          'edTm' : '24', 
#          'fcltyMngNo' : '4824012333', 
#          'sujCode' : '333', 
#          'liIndDiv' : '1', 
#          'numOfRows' : '10', 
#          'pageNo' : '1' }

params ={'serviceKey' : decoding_key, 
         'stDt' : five_years_ago.strftime("%Y-%m-%d"), # 조회시작일자
         'stTm' : '00',  # 조회시작시간
         'edDt' : datetime.today().strftime("%Y-%m-%d"), # 조회종료일자
         'edTm' : '24', # 조회종료시간
         'fcltyMngNo' : '4824012333' # 시설관리번호
         # 'sujCode' : '333'  # 사업장코드
         # 'liIndDiv' : '1'  # 생활공업구분
         # 'numOfRows' : '10'  # 줄수
         # 'pageNo' : '1'  # 페이지번호
        }
response = requests.get(url, params=params)

# xml 내용
content = response.text
print('content',content)

# 깔끔한 출력 위한 코드
pp = pprint.PrettyPrinter(indent=4)
print('pp', pp)

### xml을 DataFrame으로 변환하기 ###
from os import name
import pandas as pd
import bs4

#bs4 사용하여 item 태그 분리
xml_obj = bs4.BeautifulSoup(content,'lxml-xml')
print('xml_obj', xml_obj)
rows = xml_obj.findAll('item')
print(rows)

# 각 행의 컬럼, 이름, 값을 가지는 리스트 만들기
row_list = [] # 행값
name_list = [] # 열이름값
value_list = [] #데이터값

# xml 안의 데이터 수집
for i in range(0, len(rows)):
    columns = rows[i].find_all()
    #첫째 행 데이터 수집
    for j in range(0,len(columns)):
        if i ==0:
            # 컬럼 이름 값 저장
            name_list.append(columns[j].name)
        # 컬럼의 각 데이터 값 저장
        value_list.append(columns[j].text)
    # 각 행의 value값 전체 저장
    row_list.append(value_list)
    # 데이터 리스트 값 초기화
    value_list=[]
    
#xml값 DataFrame으로 만들기
water_df = pd.DataFrame(row_list, columns=name_list)
print(water_df.head(19))

#xml값 DataFrame으로 만들기
#Assertion Error가 난 경우
water_df = pd.DataFrame(water_df)
# 이후에 컬럼을 설정해 주세요.
water_df

 

제공 기관과 데이터 설명이 일치하지 않음

- 필수 parameter 정보 불일치

- 예제와 다른 경우의 데이터를 추출하기 어렵다.

 

 

결론

공공데이터 포털에서는 활용 많은 순으로 데이터를 활용할 것

728x90
728x90

KT 에이블스쿨 5기 모집

 

https://aivle.kt.co.kr/home/main/indexMain

 

KT 에이블스쿨

KT가 직접 설계, 교육, 코칭, 채용

aivle.kt.co.kr

 

모집일정

 

 

지원자격

 

 

우대사항에 있는 AICE 자격증이란?

AICE 자격증은 KT 개발하고 한국 경제와 함께 주관하는 인공지능 능력시험입니다.

현재, AICE 자격증 없더라도 AIVLE School에서 교육을 받으신다면, ASSOCIATE 자격 응시 기회를 주고, 불합격 시에는 1회 재시험 기회 또한 부여하고 있습니다.

https://aice.study/info/aice

 

AICE

KT가 개발하여 한국경제신문과 함께 주관하는 인공지능 능력시험입니다.

aice.study

 

 

혜택

 

ㆍ KDT 교육비 최대 31.6만원 지급

: 결석 없이 교육에 성실히 참여하실 경우 최대 31.6만원의 지원금을 받으며 공부하실 수 있습니다.

 교육비가 무료인데 추가로 지원금도 받을 수 있으니 좋은 기회라고 생각했어요.

 

 

현재까지 후기

 

ㆍ AIVLE School에 참여하면서 좋았던 점 중에서 하나는 스터디원들을 구하기 쉽다는 것입니다.

 

 

저는 개인적으로 "백준 문제풀이", "SQL 프로그래머스 문제풀이" 스터디장을 맡아서 매주 스터디를 진행하고 있습니다.

에이블스쿨이라는 기회가 없었다면, 이렇게 좋은 스터디원들을 만나기 힘들었을 거라고 생각하고 있어요.

 

ㆍ 또한, 공모전에 나가고 싶을 때도 사람들을 모집하기 쉽다는 점 또한 있습니다.

 

 

위 사진은 공모전 회의를 할 때 모습입니다. Teams를 통해 자료들을 간편하게 주고 받으니 공모전을 원활하게 할 수 있었어요. 에이블스쿨에서 처음으로 진행했던 공모전이라 기억에 많이 남네요. 이때, 에이블스쿨 수업 중 "데이터 다루기", "데이터 다듬기"에서 배운 내용을 많이 활용하였고 실력을 키울 수 있는 좋은 기회였습니다. 

 

친구 추천 이벤트

 

 

지금 Aivle School 5기 친구 추천 이벤트에 참여하시면 커피 쿠폰도 나눠드리고 있으니 참고해주세요!!

728x90

+ Recent posts