TIL

2024-05-13

여연찌 2024. 5. 13. 22:03
  • Today

1. SQL 코드카타 1문제(91번)

2. 판다스 300제(91~140)

3. 전처리&시각화 라이브세션

 

 


  • Today I Learned

 

SQL

SELECT *
FROM cinema
WHERE id % 2 != 0 AND description != "boring"
ORDER BY rating DESC

id 를 2 로 나누었을 때 0과 같지않고

description 의 값이 boring 이 아닐 때 

 

파이썬만 주구장창 보다보니 SQL 에서의 연산자를 잊어버린 듯 

기초부터 다시 천천히!

 

 

 


Python

예제 df

가장 마지막 행 추출

df.iloc[-1]
# (series 형태)

df.tail(1)   
# (df 형태)

 

iloc 

# 행번호

loc

# 행이름

 

df.iat[0, 2]    # iloc 처럼 행, 열

df.at["037730", "등락률"]   # ioc처럼 행,열


> 7.36

 

axis=0

# 인덱스

# 행 방향

# defalut

 

axis=1

# columns

# 열 방향

 

 

문자대체

str.replace()

 

 

 

결측값 제거

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

axis
# 0: inedx/1: columns 
how
# any: 존재하면 제거/all: 모두 결측치면 제거
tresh
# 결측값이 아닌 값이 몇 개 미만일 경우에만 적용
subset
# dropna 메서드를 수행할 레이블을 지정
inplace
# 원본을 변경할지의 여부

참고 : https://wikidocs.net/153202

 

결측값 변경

df.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)

df.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)

value
# 결측값을 대체할 값
method
# 결측값을 변경할 방식
# bfill: 결측값을 바로 아래 값과 동일하게 변경
# ffill: 결측값을 바로 위 값과 동일하게 변경
axis
# 0: index/ 1: columns 메서드를 적용할 레이블
inplace
# 원본을 변경할지 여부
limit
# 결측값을 변경할 횟수
downcast
# infer 일 경우 float64 를 int64 로 변경

 

df.isna()

# 결측값은 True

 

df.notna()

# 결측값은 False

 

 

 


 

데이터 전처리&시각화 라이브세션

 

 

하나만 출력한다면 실행속도가 빠른 iat 나 at 함수로 사용하는 것이 좋음

 

0차원 = schalar(스칼라) = 값

1차원 = vector(벡터) = 리스트

2차원 = matrix(행렬) = 2중 중첩 리스트

3차원이상 = tensor(텐서) = 3중 이상 중첩 리스트

 

date_range("설정할날짜", periods=스텝할 날짜 수)

입력할 날짜를 스텝할 날짜 만큼 range 해줌

 

딕셔너리를 df 형태로

키는 column , 값은 column 의 값

 

isin()

# 숫자가 아닌 특정조건을 추출할 때 사용

 

 

 


  • Next

1. SQL 코드카타 1문제(92번)

2. 판다스 300제(141~200)

3. 전처리&시각화 라이브세션

'TIL' 카테고리의 다른 글

2024-05-16  (0) 2024.05.16
2024-05-14  (0) 2024.05.14
2024-05-10  (0) 2024.05.10
2024-05-09  (0) 2024.05.09
2024-05-08  (0) 2024.05.08