TIL

2024-04-25

여연찌 2024. 4. 25. 21:20
  • Today

1. ADsP 강의 정리(인공신경망 분석)

2. SQL 코드카타

3. 파이썬 강의 듣기


  • Today I Learned

 

SQL

같은 테이블에서 값 뽑아주기

WITH ta AS (
SELECT DISTINCT a.author_id, b.viewer_id
FROM views AS a
JOIN views AS b
ON a.author_id=b.viewer_id
)
SELECT author_id AS id
FROM ta
ORDER BY 1 ASC

# Output 만 보고 어거지로 뽑아낸 값.. 

# 어제 SQL 세션에서 배웠던 distinct 컬럼1,컬럼2 를 활용해봤는데 틀렸음 ㅠㅜ!

# self join 을 해야하는 것은 알겠는데, 방법을 다시 찾아봐야겠다

 

SELECT DISTINCT a.author_id AS 'id'
FROM views AS a, views AS b
WHERE a.author_id=b.viewer_id
ORDER BY 1 ASC

# JOIN 을 하지 않고 CROSS JOIN 을 하는 것도 있었구나 해서 작성해봤으나 틀렸음..

 

SELECT DISTINCT author_id AS 'id'
FROM views
WHERE author_id=viewer_id
ORDER BY 1 ASC

 

정답이 굉장히 허탈하다 ,,^^

그냥 WHERE 절 안에서 찾아줘도 됐던 것 .. 

두개의 답을 찾는게 아니라.. 그냥 어쨌든 1번 읽어봤던 작성자를 찾는거라 ㅠㅠ

하.. 너무 꼬아서 생각했나봄 

다음엔 제대로 풀어야지!!

 


파이썬

 

 

파이썬에서 문자를 사용할 때에는 "" , '' 로 선언

> 둘다 쓰는 이유는 Alice's something 와 같이 문자열 사이에 ' 작은 따옴표가 있는 경우에 "" 로 사용

 

accuracy

: 정확도

: ai 모델 성능 평가 등에서 사용

 

=

: 같다 보다는 무언가를 담는다 라고 생각하는 것이 좋다!

 

Sequence Type

: 순서대로 나열된 자료형

: 문자, 리스트 ,튜플 

: 100 이라는 숫자는 숫자 그 자체

 

type 함수

: 변수의 자료형을 확인할 수 있다.

# 변수의 자료형 확인
print(type(age))   # <class 'int'> 출력
print(type(name))  # <class 'str'> 출력

정수(int), 실수(float), 문자열(str), 리스트(list), 튜플(tuple), 딕셔너리(dict), 불리언(bool) 등

 

정수: 딱 떨어지는 수, 소수점 이하의 부분이 없는 숫자

실수: 정수+소수점포함+음수포함

 

 

나눗셈 연산자

/ 실수로 결과 반환 (float)
// 정수로 결과 반환 (int)
% 나머지

 

>> 딥러닝을 할 때 반복학습을 해주어야 한다.

" 결과를 3번에 한번~ 10번에 한번정도만 출력해줘"

" 해당하는 횟수에 계산해줘"   등에서 사용할 수 있음

 

abs

절댓값(부호 제외하고 출력)

 

0 * 실수

= 0.0(float)

 

 

input()

사용자로부터 무언가의 값을 입력받고자 할 때

 

 

 

Q.sort(reverse=True)와 reverse( ) 의 차이?

A.

# sort(reverse=True) 내림차순

list = [1,5,2,3,4]
list.sort(reverse=True)
>> [5,4,3,2,1]

# reverse() 리스트의 자료를 뒤집는다

list = [1,5,2,3,4]
list.reverse()
>> [4,3,2,5,1]

 

 

 

튜플

: 추가, 삭제, 수정이 불가

: 불변해야하는 정보, 개인정보 등을 사용

 

딕셔너리

: key 값을 통해 각각 데이터를 저장 할 수 있음

: 데이터를 사전처럼 저장하고 싶을 때, pandas 사용하기에 좋음

dict_keys()

> 모든 키를 반환

dict_values()

> 모든 값을 반환

dict_items()

> 모든 키-값 쌍을 (키,값) 튜플로 반환

 

 

print(i,end = ' ')

>> end 로 지정해주면 저 뒤에 인자를 반환해준다!

 

 

# 결측치 처리 예시
data = [10, 20, None, 30, 40, None, 50]
cleaned_data = []
for d in data:
    if d is not None:
        cleaned_data.append(d)
print(cleaned_data)

Q. 결측치 처리를 할 때 not None를 해주는데

파이썬에서는 결측치가 None 인지?

A. 튜터님 멘토링 내용

* 위의 코드는 for 반복문에서 사용가능한 형태로 보여주기 위해 예시로 작성한 것

* 현업에서 결측치는 보통 NaN 형태이다.

* 결측치 처리를 할 때에는 보통 판다스로 결측치를 확인하고, 처리 해준다

 참고 ) https://jimmy-ai.tistory.com/162

 

 

 

while 문

: 조건이 있고, 그 조건이 참 일 때만 반복을 한다.

: 조건 은 불리언 값(True 또는 False) 을 반환하는 표현식

 

continue

# 반복문으로 돌아가는 것

pass

# 그냥 지나가는 것


Daily Scrum

 

UNION 

은 컬럼명과 형식이 같아야 하기 때문에

별칭을 해서 컬럼명을 

 

WHERE 절이 먼저 실행 되기 때문에

유니온을 하기 전 각 테이블에서 where 절에서 먼저 조건을 줘야 한다

 

 

SELECT *

FROM 테이블1,테이블2

WHERE 조건

> INNER JOIN 과 같음

처리속도가 빠르다

where 절을 써서 조건절로 걷어내야한다.

> 잘 쓰지 않는 문장이기 때문에 INNER JOIN 을 주로 사용

 

 


  • Next

1. SQL 코드카타

2. 파이선 종합반 강의 완강

3. SQL 코드카타 복습

4. ADsP 강의

'TIL' 카테고리의 다른 글

2024-04-29  (0) 2024.04.29
2024-04-26  (0) 2024.04.26
2024-04-24  (0) 2024.04.24
2024-04-23  (0) 2024.04.23
2024-04-22  (1) 2024.04.22