25.4.4TIL

황효정·2025년 4월 4일

데이터 분석

목록 보기
33/88
post-thumbnail

OMG 아니 어제 그 통계 공부랑 코드카타 푸느라 베이직 수준별 공부는 아예 못했는데, 오늘 2시에 세션이 있는줄 몰랐다...(BABO🤓) 왜 저녁 7시에 있다고 생각했을까..?

역시나 듣는데 이해가 안되어서 옆에 쳇지피티 한테 물어보면서 진도 따라갔다.
베이직반에서도 이러니까 약간 갑자기 또 멘탈이 힘들어졌다..ㅋㅋㅋ,,,

그리고 오늘 오전에 풀었던 sql 코드카타:


->안풀리는 조건(어떻게 계산해야할지 고민되는 부분): 1.날짜 범위 지정 및 2.날짜데이터 계산 할 때 어떻게 해야하는지 아직도 모호함.

이거 고민하다가 qcc를 하게 되어서 이동해서 풀었다. 확인해보니 4문제 중에 1문제를 맞았더라고.. 그래도 하나 맞아서 다행인가싶었다. 첫번째 문제 되게 어렵게 풀었는데, 거기서도 범위 지정이 헷갈린다. 날짜형-시간형 같이 있는 데이터에서 범위 지정할 때 좀 이해가 안가서 다시 풀어봐야 한다.(아 아까 튜터님 찾아가서 여쭤볼걸!!) -처리해야 할 일이 엄청 많다.. 풀어가야 할 것도 진짜 많다..

💡오늘 알게 된 qcc 꿀팁(qcc뿐 아니라 나중에 실무에서도 사용할 수 있는 팁!)
: 데이터를 볼 때 limit을 걸어줘서 보기. 전체 데이터를 보게되면 시간과 용량이 오래,많이 걸리기 때문이다. 그래서 limit를 걸어줘서 제한된 데이터만 볼 수 있게 하면 시간을 절약할 수 있음.(용량도)

qcc 4번 문제에서는 window_function을 쓰면 쉽게 풀린다는 것을 알았다.
👉🏼 지금 내가 자유롭게 사용할 수 있는 sql 능력,함수들이 가장 기본적인 것들이고, 조금 더 수준있는 것들은 아직 익숙하지 않아서 잘 사용하지 못하고 있다. 예를 들어 윈도우펑션이라던지, with구문이라던지,, 그래서 개념을 다시 정리하고 더 연습을 통해서 익숙해져야겠다 싶었다.

where절 서브쿼리에서 in을 써서 (select from ~~) 이렇게 써도 된다는 것을 오늘 처음 알았다. 지금까지는 where절에서의 서브쿼리는 꼭 컬럼을 쓰고 그 컬럼에 맞는 값만 써줘야 하는 줄 알았다. 알면 알수록 더 무궁무진한 것 같다. 더 공부해봐야지!

암튼 다시 베이직 수준별 수업반으로 돌아간다면,, 튜터님께서 과제를 하지 않으면 실력이 늘 수 없다고 하시면서 꼭 과제 제출하라고 하셨다. 꼭 해보기. 라고 하심. 어제는 하루죙일 통계 공부하고 코드카타 풀었더니 하루가 가버려서 사실 복습이랑 과제를 하지 못했었다. 그래서 오늘은 복습하면서 하나씩 개념 정리하고 공부하는 시간을 가졌다. 아직 문제풀이까지가지는 못했지만 개념이 이해가 안되어서 그거 개념 먼저 이해하고 머릿속에 집어넣는것부터 공부했다. 그것만해도 시간이 오래걸렸음.

일단 수업 내용

  • 튜플은 메서드가 많지 않다.
  • 문제 풀 때 먼저 규칙을 찾는게 중요하다. 그 다음에 수식 적기.
  • 오늘거 4만 복습하기. (set이랑 딕셔너리 제외)⭐
  • 🌟복습+과제풀기(중요함)🌟
  • divmod(_,60)-몫과 나머지 같이 구할 수 있다고 함.

베이직 반 주신 파일 복습하면서 공부한 내용:
파이선은 객체지향 프로그래밍 언어이다. 여기서 객체란 무엇인가

  • 객체: 현실에 있는 모든 것들. 마치 현실과 같이 생각하게 함. 3D 같은 느낌이라고 생각하면 됨. 자동차, 사람, 컴퓨터 등. 그것을 이루는 수많은 것들이 있고, 동작하는 것들이 있음(마치 동사) -이게 내가 이해한 내용이다. 그러니까... 어떻게 해야 더 쉽게 설명할 수 있을까.. 옛날에는 약간 함수로만 프로그래밍을 했다고 한다. 그래서 평면적이고 한계점이 있고, 데이터가 커질수록 힘들어지는.. 하나하나 만져야하기 때문에, 근데 이제 GUI? GIU?가 나오고 나서는 객체 지향언어가 뜨기 시작했다고 한다. 대부분의 자바나 C++, C# 이런것들도 다 객체지향언어라고 한다. 파이선도 마찬가지이고. 그러니까.. 그런 객체들을 이어서 사용하는 언어...라고 이해한다면 괜춘,,?
  • 클래스: 클래스는 객체를 만들기 위한 청사진, 설계도 라고 이해하면 좋다. 클래스를 통해서 살아있는 실물이 객체이다.
  • 라이브러리: 그런 클래스랑 함수들을 모아둔 것이 라이브러리이다. 약간 도구 상자. 여러 유용한 클래스, 함수, 변수들을 묶어둔 모음집. 대표적인 라이브러리가 판다스, 넘파이, 멧플러리, 시본 이런것들이다. (특히 데이터 애널리스트들이 사용하는 것들에는)


    절차지향 언어랑 비교하니까 객체지향에 대한 이해가 더 잘 되는 것 같다. 그러니까 이것저것을 조합해서하는게 객체지향.인 것이다.

=> 객체지향은 여러 객체를 만들고 그 객체들을 조립하거나 협력시켜서 하나의 프로그램을 완성하는 방식이다. 비유하자면 퍼즐같다고 한다. 각 객체는 자기만의 역할을 갖고 있어서 그것들을 조립해서 하나의 큰 프로그램을 완성시킬 수 있다는 것. 지금 머릿속에 떠오르는 그림은 대기업이 떠오른다. 각 부서가 있어서 서로 협력해서 일을 하는것.
-객체지향 프로그래밍은 하나의 대기업같다는 생각이 든다. 부서가 여러개 있고 기능이 다 세분화 되어있는데, 그 부서들이 협력해서 공동의 목표를 이뤄가는것이기 때문.

  • 피연산자: 연산의 대상이 되는 값. 연산자는 덧셈,뺄셈,곱셈,나눗셈 등등이 있다.
  • 리스트는 순서가 있고 변경이 가능하다[]로 묶어줌.
  • 튜플은 순서가 있고 값 변경이 불가하다. ()로 묶어줌.
  • 딕셔너리는 키:값 으로 묶인다. {}로 묶어줌.
  • 리스트 몇번째 값을 뽑아올 때는 리스트함수에[]를 사용하고[]안에 몇번째에 있는건지 숫자를 넣어준다. ex)my_list[1]:2번째에 있는 값을 뽑아온다.
  • 리스트 값을 바꿀 때: my_list[1] = 20 :my_list에 있는 두번째 값을 20으로 지정한다. 그 값에 20을 넣어준다. 이런 뜻이다. ->2번째 위치한 값이 어느값이던 20으로 변경된다.
  • f-string 즉, 포맷팅함수를 사용할 때는 변수를 꼭 {}에 담아주어야 한다.
  • 산술 연산자=>*: 곱셈, /:나눗셈, //:몫(정수 나눗셈), %: 나머지, **:거듭제곱
  • 문자열 결합 시: "_": 한 칸 띄어쓰기.
  • 파이선은 대소문자를 완벽하게 구분한다. mysql과 다름!!

암튼 오늘 매니저님과 면담을 했는데, 많이 위로가 되고 힘이났다. 그동안의 건강으로 인해 힘들었던 것들도 다 이야기하고. 응원도 해주셨다! 그리고 오늘 지피티에게도 많은 위로와 힘을 얻었다.. 이녀석 스윗함이 아주 잘 입력된 친구이다. 솔직히 감동함.. 마지막으로 오늘 감동을 얻었던 지피티의 말을 끝으로 오늘 TIL을 마치겠다. 이제 더이상 도망갈곳이 없다. 오늘 매니저님의 명언:"울면서 해야함" 그렇게라도 해야한다는 뜻이다. 솔직히 다음텀으로 넘어갈 수 있다면 넘어가고 싶었는데 오늘 이야기하면서 불가능하다는 것을 알게 되었다. 어쩔 수 없음. 끝까지 갈 수 밖에.. 화이팅!!!!!!!!!!!!


지피티에게 큰감동 받은 나.. 광광..

그리고 튜터님께서 해주신 말씀도 힘이 많이 되었다.:똑같은거 5번 물어봐도 된다고.. 그리고 오늘 마지막으로 매니저님의 그 응원!!(캡처 못해서 아쉬움) 나 할 수 이따 !!!울면서라도 해내자!!!

profile
청지기

0개의 댓글