프리지아의 꽃말은 청순함과 천진난만함, 새로운 시작을 응원하는 의미이다:)
"앞으로의 시작을 응원해!"
날씨가 봄이다~~!! 하지만 같이 찾아와버린 미세먼지..
이런 날씨에는 한강을 가야함.(미세먼지는 제외) 오늘은 우리 팀과 토킹토킹을 많이 했었다.
아주 재미졌다. 사실 주말동안 복습을 꼭 해야지 했는데, 한주동안 너무 힘들기도 했고 그래서 진짜 주말에 복습을 너무 하기가 싫었다... 해야하는데,,, 해야하는데,, 하면서 재밌게 놀아버림.. 그리고 막 이것저것 하다보니까 시간이 다 가고 그래서 그냥 에이,, 어차피 한주내내 공부할건데~ 하면서 그냥 모른척을 해버렸다.. 근데 약간 그 짓누르는 부담감이 컸던 것 같다. 진짜루.. 그래서 이제 막 회피를 해버리고 싶은.. 그런느낌이었지만
오늘 팀원분들이랑 얘기하고 하면서 그 부담감을 많이 내려놓게 되었다. 나만 어려워하는거 아니고 다같이 어려운것이라는 것에서도 그렇고, 팀원분들이 격려해주시고 이끌어주시고 해서 같이 가야지 라는 마인드가 생겼고, 좀 혼자서 지고 있던 압박감을 벗을 수 있었던 것 같다. 나는 진짜 감사하게도 좋은 팀원들을 계속 만나는 것 같다.
첫번째 팀도 그렇고, 두번째 팀도 그렇고. 첫번째 팀은 약간 좀 뭐라고 해야하지 엄청 활발한 나눔이 있었던 활기찬 팀+능력자들+같이 도와주는 그런 느낌이었다면 이번 두번째 팀은 다들 귀염귀염해가지고 뽀짝뽀짝해가지고 같이 으쌰으쌰하는 느낌이다. 둘다좋아
오늘은 프로젝트 데이터를 계속 뜯어보면서 방향을 잡아가는 시간이었다.
각자 파트도 나누기로 했는데, 계속 발표를 해볼 수 있는 기회를 자꾸 주셔서 발표하는 경험이 중요한 것 같았다. 그래서 이번에는 발표를 해봐야겠다 생각해서 자원했다. 발표는 두가지가 있는데, 실제 줌에서 실시간으로 발표하는 포지션이랑 녹화해서 제출하는 포지션 이렇게 두가지가 있다. 뭔가 실시간 발표해도 잘 할 수 있을 것 같다는 생각은 들지만 부담스러워서 녹화로 하겠다고 했다.(팀장님이 배려해주셔서 내가 고를 수 있게 해주심:)) 그래도 경험이 중요한거니까?-다음에는 실시간 도전?
파이선에서 이리저리 막 뜯어보고 싶은데 아직 실력이 모자라서 하나하나 다시 공부해보면서 복습한다는 느낌으로 데이터셋 보고이러니까 시간도 많이 걸리고 깊이는 아직 못 보는 느낌이다.(이래서 복습이 중요하다. 파이선을 잘하고 싶다면 계속 복습하고 해보고 하는 경험이 중요한듯 하다.)
오늘은 그리고 내가 우수 수강생으로 뽑혔다.!! 내가 뽑힌 영역은 '파이썬 및 SQL공부를 통한 실력 향상 중인 수강생' 파트이다. 솔직히 몰랐는데, 갑자기 우리팀 분들이 막 축하한다고 해주셔서 ???, ?????, 이러다가 아직 못보셨냐고 하셔서 팀원분들덕에 알게되었다. 솔직히 진짜 놀랐다. 나는 아예 이런거에 뽑힐거라는 기대를 아예 접고 있었거든.. 근데 뽑혀서 진짜진짜진짜 놀랐고.. 너무 감사했다..힝... 힝...
기준은 튜터님들의 추천을 통해, 성실한 학습 태도와 적극적인 참여를 보여준 사람들을 선정했다고 한다. 흑...흑... 감사합니다.. 진짜로..너무 놀랐고.. 감사해요..
힘을 내어서 더 열심히 공부해보아야겠다.!!(포인트도 많이 주셔따 허허허허 헤헷)
오늘 암튼 그 아나콘다로 바꾸려고 했는데, 이제서야 코랩환경에 적응해서 이제와서 또 바꾸긴 힘들 것 같아서 일단 프로젝트 기간에는 코랩으로 하고 이거 끝난다음에 아나콘다로 바꾸거나 해야 할 듯 싶다.
오늘 알게 되었던 파이선에 관련된 사실들-!! 두둥탁
sql에서는 where절로 조건을 걸어주고 그 조건에 맞는 데이터들을 select절을 통해서 뽑을 수가 있는데, 파이선에서는 그렇게 하는 방식이 조금 다르다.
일단은: df란 데이터프레임이 있다고 치자. 이 데이터프레임에는 여러 팀이 섞여 있다. 내가 보고 싶은 한 팀이 있어서 그 팀에 해당하는 데이터만 뽑아오고 싶다.
그렇게 하려면 df[df['컬럼이름'] == 팀에 해당하는 값]
이렇게 뽑아오면 되는데, 예시를 들어보겠다.
ex) df[df['HOME_TEAM_ID'] == 1610612766] 이렇게 된다. 근데 이제 이게 왜 이렇게 되는지 설명을 해보자면 일단 df는 그 데이터프레임. 데이터셋 그 자체 한마디로 테이블.이라고 알면 된다. 그 테이블에 있는 특정 컬럼값을 불러오는게 []안에 ''를 사용하여 컬럼이름을 불러오면 된다. 특정 컬럼 불러올 때 이런식으로 사용하더라구. 아니면 df.컬럼이름 이렇게도 쓰이는 것 같은데 이거는 코랩을 통해서 시험을 해봐야 한다. 암튼 각설하고. 그리고 == 이 뜻은 같다 라는 뜻이다. = 이 뜻은 담다 라는 뜻이고. 파이선에서 = 는 수학 기호의 같다 라는 뜻과는 다르다. 값을 담아주는 것이다. 그래서 같다라는 표현을 사용할 때는 == 이렇게 두번 써줘야 한다. 암튼 그리고 여기서 에러가 났었는데 팀아이디에다가 ''를 붙여서 에러가 났었다. df[df['HOME_TEAM_ID'] == '1610612766'] 이렇게 해서 에러가 남. 그 이유는 일단 저 홈팀아이디의 벨류들의 생김새가 문자가 아니라 숫자라서 그렇다. 문자형이면 ''를 붙여야하는데, 숫자형이면 ''를 붙이면 안된다. 빼버려야 숫자가 된다. 그래서 그것을 빼주고 나서 다시 돌려봤는데 에러가 사라졌다.
그리고 내가 궁금했던 것은 왜 df를 한번 더 감싸줘야 하는지가 궁금했다. 그래서 빼보았는데, false가 나왔다.

이렇게. 그래서 도대체 이게 뭐지 싶었는데, 이게 그뜻이란다. -> df 테이블에 홈팀아이디가 1610612766가 맞는지 아닌지 확인해줘.
그래서 저렇게 모든 데이터를 가지고 비교하면서 맞으면 True, 아니면 False를 반환하는 것이다.
ㅎㅎ..컴퓨터의 세계란..
그래서 저 조건을 아예 테이블에 다 충족시키는 값을 가져오려면 한번 더 df로 씌워줘야 하는거다.. 솔직히 막 100%이해가 되지는 않지만,, 뭔 말인지는 알겠다.. 내일 튜터님께 질문을 해볼까 고민된다. ->그 이유는 튜터님을 찾아가면 항상 내가 궁금한것보다 더 많은 것을 알려주신다. 그래서 도움이 많이된다. 암튼.. 약간 외우는 것보다 컴퓨터 언어의 과정이라고 해야할까,, 그 돌아가는 방법들을 알게되고 이해하게 되면 외울필요가 없어지니까.. 좋은 것 같다. 암트은 그렇다.. 약간 이 코딩이라는 것은 에러와 짝꿍이 되는 것인 것 같다. 에러는 항상 날 수있다. 근데 좀 하다보니까 그 에러 메시지 보고 좀 에러해결을 할 수 있게 된 것 같다(다는 아닌데 특정 에러문구에서는 어디구나 이런게 느낌이 오게됨)
그리고 복습.

? 글고 궁금한 것. 아니 그 변수에다가 값 담아주고 나서 print 함수를 써서 출력하면 약간 데이터가 좀 덜 정렬된 값으로 나오는데, 그냥 그 변수만 써서 돌려주면(shift+enter) 좀 정렬되고 정리된 화면으로 나온다. 이건 왜이러는거야,,? 분명 튜터님이 그 쓸 때 print를 쓰는게 좋다고 하셧는데, 이건 또 다른건가,,? 이것도 여쭤보아야겠다. 근데 내가지금까지 잘 여쭤볼 수 있었던 것은 내가 진짜 비전공자고 아무것도 모르기 때문에 하나도 부끄럽지가 않았고, 또 물어봐야 알지. 라는 생각을 갖고 있어서이다. 또 하나는 진짜 튜터님들이 엄청 친절하게, 잘 알려주셔서 이기도 하다. 암튼 여쭤볼건 여쭤보자. 하나하나 개념을 확실하게 잡아가야 한다고 하셨다. 모르는거는 확실하게 알고가기!! 오늘은 늦었으니 내일 여쭤보아야겠다.
하루하루가 아주 빨리 가버린다. 시간을 잘 잡아보자 화이팅이다!! 잘하구있어!!
+오늘 해인님의 명언을 놓고가겠다.:)
+추가 내용: sql 코드카타 문제
case when 구문에서 자꾸 에러가 떴는데 도대체가 뭐가 잘못된지 모르겠어서 지피티친구의 힘을 빌렸다.
SELECT board_id, writer_id, title, price,
case when status like '%SALE%' then 판매중,
when status like '%RESERVED%' then 예약중,
when status like '%DONE%' then 거래완료
end as STATUS
from used_goods_board
where created_date like '%2022-10-05%'
이것이 내가 작성했던 구문. 자꾸 에러가 떴음.

알고보니, case when구문에 내가 , 를 붙였던 거였다. 아 요즘에는 계속 파이선만 해서 그런지 원래는 case when 구문 쓸 때 쉼표 안 붙이고 잘 썼는데 오랜만에 sql하니까 또 감이 사라졌나보다. 기억하기!! case when 구문에서는 쉼표를 쓰지 않는다!
+그리고 지금까지 한글로 컬럼 이름 지정할 때 as구문을 이용해서 하지만 나는 그냥 쉽게쉽게 as는 생략하고 바로 한글로 컬럼이름을 지정했었다. 그래서 여기에서도 그냥 판매중, 예약중, 거래완료. 이렇게 적었는데 그렇게 하니까 또 에러가 났다. 이번 에러창은 밑과 같다.

이번에도 내 친구 지피티한테 물어보았더니, 걔가 문자열에는 ''를 주어야 한다고 했다. 그래서 주어보았더니 쿼리가 잘 실행이 된다. 그래서 이것도 내가 좀 헷갈렸던 것 같은데- as로 별칭을 줄 때 만약 그 별칭이 한글이라면 굳이 ''를 쓰지 말아야 한다.-왜냐면 오히려 별칭에서 ''를 써버리면 에러가 날 수 있다고 튜터님이 그러셨다.
하지만 그냥 문자열에서는 ''를 써줘야 한다는 것. as구문과 그냥 문자열은 다르다는 사실을 기억하기!
결국에는 그 두 문제로 오류가 났었고, 그 두개를 해결했을 때 쿼리가 잘 돌아가고 답을 도출해낼 수 있었다.
역시 감을 잃지 않으려면 계속해서 풀어나가야하고, 손에 익을 수 있게 파이선도 계속 작성해 보아야 한다. 이렇게 하나씩 해가자. 아직 그 데이터시각화는 근처에도 가지 못했지만,, 하다보면 늘거고, 결국 잘 알 수 있게 될 것이다. 하나하나 차근차근 기초를 잘 다지면서 가자. 거북이가 될지언정 포기하지말자.
오늘도 고생했다!!