내일배움캠프_데이터분석_2기/TIL

[TIL] camp_day12_240430

단ee 2024. 4. 30. 20:50

3주차 둘째 날. 파이썬 과제 시작. 강의는 얼마 안 남았는데 왜 이렇게 듣기가 싫을까!!

학습 내용


  • SELF JOIN(SQL)

    • 참고 아티클 : How to join same table twice
    • 코딩테스트 문제 : Leetcode.Rising_temperature
      • → 일별 기온이 테이블로 주어지고, 하루 전날의 기온에 비해 온도가 상승한 날의 id만 출력하는 문제
      • 동일한 테이블에서 날짜를 1씩 더한 테이블을 서브쿼리로 inner join 해서 풀이함
    • Where 절에서 서브쿼리를 써서 조건을 부여한 답도 있던데, 이렇게 푸는 게 익숙치 않아서 나중에 다시 풀어봐야겠다.
      SQL
      SELECT id
      FROM Weather as w
      INNER JOIN 
      (SELECT DATE_ADD(recordDate, INTERVAL 1 DAY) as day_after
      ,temperature as temp_before
      FROM Weather) as modi
          on w.recordDate = modi.day_after
      WHERE w.temperature > modi.temp_before ;
  • 데이터 결측값 찾기 + 없애기(Python)

    • 결측값 찾기 : .isnull() 또는 .isna() 메서드를 사용한다

      Python
      impport pandas as pd
      df = pd.read_csv('file_address')
      
      df.isnull()    # 이렇게 써도 되고 = 그럼 전체 dataframe에 대해 True/False 로 표현되는 결과가 출력된다.
      pd.isnull(df['column'])   # 이렇게 특정 컬럼에 대해서 쓸 수도 있다. = 이 경우에도 T/F 결과 출력
      
      df.isnull().sum()  # 이렇게 쓸 경우, 컬럼별 결측값 개수를 return
      df.isnull().sum().sum()  # 이렇게 쓸 경우, 전체 dataframe 중에서 결측값이 몇 개인지 개수를 return 
    • 결측값 없애기 : .dropna() 메서드를 사용한다.

    • 결측값 대체 : .fillna() 메서드를 사용한다.

고찰 & 기타


  • 읽을 아티클도 많고 참고할 문서도 많고... 노션보다 효율적으로 공부 기록 관리를 할 필요성을 느낀다.
    요새 옵시디언이 핫하던데 그거 써볼까?

  • Leetcode에서 코테 문제 풀기 시작했는데, 쉬운 난이도부터라 한번에 와르르 풀어버렸다.
    description이 영어로 되어있으니까 쿼리 짜는 시간보다 해석하는 게 더 오래 걸린다.

  • 오늘 파이썬 과제 한다고 강의를 거의 못(안) 들었다. 내일은 시간 배분을 해서 조금 더 공부할 수 있도록 해야겠다.

  • 검색하다가 Pythonic 이라는 단어를 알게 됐다. 저 키워드를 타고 찾다가 Python 이스터에그... The Zen of Python 을 출력해봤다.
    Readabilaty counts, Simple is better than complex, Beatiful is better than ugly 등 심금을 울리는(?) 구문이 출력됐다.

      Python
      import this

    참고 : Pythonic이란?

'내일배움캠프_데이터분석_2기 > TIL' 카테고리의 다른 글

[TIL] camp_day14_240502  (0) 2024.05.02
[TIL] camp_day13_240501  (1) 2024.05.01
[TIL] camp_day11_240429  (0) 2024.04.29
[TIL] camp_day10_240426  (0) 2024.04.26
[TIL] camp_day9_240425  (1) 2024.04.25