TIL 66

데이터 시각화1

matplotlib이란?파이썬에서 시각화를 위한 라이브러리 중 하나로, 다양한 종류의 그래프를 생성하기 위한 도구를 제공2D 그래픽을 생성하는 데 주로 사용한다. import matplotlib.pyplot as pltimport로 matplotlib 라이브러리를 가져와준다. # 선 그래프 그리기plt.plot(x, y) plt.xlabel('X-axis') plt.ylabel('Y-axis') plt.title('Example Plot') plt.show()  1. 그래프 그리기1) 도구pandas의 plot() 메서드는 DataFrame 객체에서 데이터를 시각화하는 데 사용됨.plot() 메서드를 호출하고  x와 y인수에 각각 x축과 y축에 해당하는 열을 지정함.data = { 'A': [1, 2, ..

데이터 전처리2

3. 데이터 선택● .iloc[로우, 컬럼] : 인덱스 번호로 선택하기- 행번호(로우)와 열번호(컬럼)을 통해 특정 행과 열 데이터를 선택할 수 있음.import pandas as pd # 샘플 데이터프레임 생성 data = {      'A': [1, 2, 3, 4, 5],       'B': [10, 20, 30, 40, 50],       'C': [100, 200, 300, 400, 500] } df = pd.DataFrame(data) # iloc을 사용하여 특정 행과 열 선택 selected_data = df.iloc[1:4, 0:2] # 인덱스 1부터 3까지의 행과 0부터 1까지의 열 선택 print(selected_data)      A  B  C                        ..

프로그래머스 <가장 가까운 글자>

나의 풀이)def solution(s):     answer = []    visited = {}     for i,j in enumerate(s):        if j in visited:             diff = i - visited[j] + 1             answer.append(diff)             visited[j] = i+1         else:            answer.append(-1)            visited[j] = i+1     return answerenumerate()를 사용해서 값과 순서를 이용, visited 딕셔너리에 값과 마지막으로 나왔던 인덱스를 저장하여 해결하였다.처음 나오면 -1, 또 나오면 마지막 위치를 가져와서 사용

TIL/Python 2024.07.19

TIL (7/19) <날짜 차이 구하기 datediff()>

처음에 if(end_date - start_date >= 30, '장기 대여', '단기 대여') 이렇게 풀었다가 잘못된 데이터가 조회되었다.date형 자료에 (-) 연산을 하기 위해서는 datediff() 함수를 사용해야 한다.#datediff() 기본형datediff(큰 날짜, 작은 날짜) (나의 풀이)select history_id, car_id, date_format(start_date,'%Y-%m-%d') as start_date, date_format(end_date,'%Y-%m-%d') as end_date, if(datediff(end_date, start_date)+1 >= 30, '장기 대여', '단기 대여') as rent_type from car_rental_company_rental..

TIL/SQL 2024.07.19

데이터 전처리1

데이터 전처리내가 원하는 데이터를 보기 위해 하는 모든 활동실제 데이터는 원하는 형태로 구축되어있지 않다 > 하나하나 가공해서 활용해야 함. 데이터 전처리는 방향성을 갖고 해야함. 1) 데이터를 통해 무엇을 확인할 것인가?2) 어떤 의사결정을 위해 필요한가?3) 데이터를 통해 무엇을 얻고자 하는가? 1. PandasPython에서 데이터를 조작하고 쉽게 분석할 수 있게 도와주는 라이브러리대용량 데이터 처리가 가능데이터 조작 기능데이터 시각화 기능 제공데이터를 구조화하여 분석할 수 있음.Pandas에는 두 가지 구조가 있음. 1) DataFrame = 표 형태Index : 각 아이템을 특정할 수 있는 고유의 값 (엑셀에서의 좌측 열 순서)Columns : 하나의 속성을 가진 데이터 집합2) Series :..

TIL (7/17) <if문, 임시테이블>

1. if문select car_id, if(max(if(start_date = '2022-10-16', 1, 0))=0, '대여 가능', '대여중') as AVAILABILITY from CAR_RENTAL_COMPANY_RENTAL_HISTORY group by 1 order by 1 DESC## if 문 기본 구조if(조건, 조건이 참일경우 실행, 조건이 거짓일경우 실행) 2. 임시테이블with temp1 as( select car_id,           case when start_date = '2022-10-16' then 1           else 0 end as abailability from car_rental_company_rental_history)select car_id, if(m..

TIL/SQL 2024.07.17

DBMS

1. DBMSDBMS란?Database Management System, 데이터를 체계적으로 저장하고 관리할 수 있게 도와주는 프로그램데이터 저장데이터 검색데이터 수정데이터 삭제MySQL, Oracle, MS SQL Server 주로 사용 2. 키데이터를 고유하게 식별하는 데 사용. 키를 통해 데이터베이스 내에서 특정 데이터를 쉽게 찾을 수 있음. 기본 키(Primary Key)테이블에서 각 행(레코드)를 유일하게 식별중복되지 않으며 NULL값을 가질 수 없음.고유한 ID외래 키(Foreign Key)다른 테이블의 기본 키를 참조하는 키친구의 전화번호 저장한다고 생각후보 키(Candidate Key)역할 : 기본 키로 사용할 수 있는 모든 키여러 개의 후보 키 중에서 하나를 기본 키로 선택하는 것대체 키..

TIL/SQL 2024.07.16

TIL (7/16) <join>

JOIN둘 이상의 테이블을 연결해서 데이터를 검색하는 방법서로 연결하려면 적어도 하나의 컬럼을 공유하고 있어야 한다.공유하고 있는 컬럼을 PK 또는 FK 값으로 사용한다.  INNER JOIN기준 테이블과 조인 테이블 모두 데이터가 존재해야 조회됨.LEFT / RIGHT (OUTER) JOIN기준 테이블에만 데이터가 존재하면 조회됨.OUTER JOIN         INNER JOIN과 LEFT / RIGHT (OUTER) JOIN은 꼭 사용 방법을 알아두자.오라클에는 OUTER JOIN이 있지만, MySQL에는 없기 때문에 LEFT JOIN + RIGHT JOIN 해준다 INNER JOIN : 공통부분만 SELECTSELECT * FROM emp AS a INNER JOIN dept AS b ON a...

TIL/SQL 2024.07.16

TIL (7/15) <replace(), 문자열 기준대로 정렬하기, 최소 직사각형>

나의 풀이)def solution(s):     jj = { 'zero' : '0', 'one' : '1', 'two' : '2', 'three' : '3', 'four' : '4', 'five' : '5', 'six' : '6', 'seven' : '7', 'eight' : '8', 'nine' : '9' }    for k,v in jj.items():        s = s.replace(k,v)         return int(s)딕셔너리에 키 값으로 영문, value로는 숫자를 넣어 replace 함수로 k값이 있으면 v로 바꿔주어 해결하였다.  나의 풀이)def solution(strings, n):     strings.sort()    strings.sort(key=lambda x:x[n..

TIL/Python 2024.07.15

TIL (7/15) <두 개의 컬럼으로 그룹화하기, 조건에 맞는 사용자 조회하기>

select user_id, product_idfrom online_sale group by user_id, product_idhaving count(product_id) >= 2 order by user_id, product_id desc똑같은 user_id가 똑같은 product_id를 재구매 한 데이터를 찾아야해서 조건을 어떻게 줘야할 지 고민했다.group by user_id, product_id 하면 파이썬의 튜플 개념으로 user_id와 product_id의 쌍으로 그룹화를 한다는 것을 배웠다,  나의 풀이)select distinct b.user_id, nickname, concat(city,' ',street_address1,' ',street_address2) as '전체주소', conc..

TIL/SQL 2024.07.15