25.3.18TIL

황효정·2025년 3월 18일

데이터 분석

목록 보기
20/88
post-thumbnail

파이선.. 하.. 알고리즘과 판다스 라이브러리 이제서야 좀 개념 정리가 되었는데 진짜 불러오는것부터가 난관이다. 디비버에서 파일 불러오는것까지 겨우 해냈는데 다시 처음으로 돌아가 코랩이란 환경에서 파일들을 불러와야 하는데 그것도 버겁다.. ㅎㅎ 원래 처음이란 다 어려운거니까 라는 위로를 하며.. 첫 만남은 너무 어려워~~ 계획대로 되는게 없어서~~

암튼 파이선은 알면 알수록 할 수 있는게 많아진다. 오늘에서야 파이선에서의 알고리즘 코드카타가 무슨말인지 알게 되었다. 함수를 불러와서 바로 써버릴 수도 있지만, 함수를 쓰지 않고도 알고리즘으로 로직 작성해서 최댓값을 구하거나 이런것들이 바로 알고리즘인것..
최댓값을 찾는 알고리즘은 많이 출제가 된다고한다. 다행히도 어제 풀어봐서 조금은 알겠는 로직이다.
딕셔너리에서 빼오는 것은 .items 라는 것을 사용한다고 한다. 이게 뭐냐하면.. 나도 잘 모르겠다. 그냥 그렇다고 하니까 그렇구나 하는거다.

변수를 가져올 때 두개를 가져올 수도 있다는 것을 알게 되었다. 약간 알면 알수록 개념이 계속 넓어지는 느낌이다. 아는게 힘이라고, 지식을 계속 쌓아나가면서 계속 연습해보아야겠다 라고 생각하지만 하나 하는데 시간 겁나 많이 걸리고,, 프로젝트는 다가오고,, 과제는 시도만 하고있고,, 심지어 sql코드카타도 답은 잘나왔는데, 계속 틀렸다 해서 디버깅 해야하는데 그것도 어렵고.. ㅎㅎ 오늘은 정말 총체적 난국속에서 시간을 보내버렸다. 약간 너무 이도저도 안되고 구석탱이로 몰리는 느낌이라 다 놓아버리고 싶어지는..? 내가 이렇게 의지가 약한사람이었나. 그래도 한번 하겠다는 것은 진짜 의지를 불태워서 열심히 하는 사람인데, 요것은 뭘까 싶다.
진짜 멘탈관리도 잘 해야겠다 싶은게, 긍정회로를 돌리면서 하나하나 배워가는 기쁨을 맛보아야지, 놓치고 있는것, 점점 멀어져가는 파이선과 진도에 집중하다보면 그냥 다 포기하고 싶어진다.

암튼 다시 돌아와서 변수 두개 가져오는것의 예는 이렇다.
for key, value in ~~~ 이런식으로. 키랑 벨류 두개 가져올 수 있다는 거다.
그리고 try, except구문을 오늘 배웠는데, 만약 코드를 돌려놓고 에러가 떴을 때, 뜬 상황에서 대처를 한다거나 넘어가는 코드이다.
try는 계속 반복해서 수행할 작업을 명시해놓고, except는 try구문에서 에러가 나면 넘어갈 구문이다. 에러 났을 때 중간에 중단되지 않고 코드가 계속 돌아가게 할 수 있는 구문이다. 오늘 아티클 읽으면서 except 구문에다가 정확한 구문을 명시해놓아야 한다는 것을 읽었는데, 대충 넘어가지 않아야 하고 어떻게 처리할 건지를 잘 적어놓아야 한다는 것을 알게 되었다. 나중에 디버깅하거나 충돌할 수도 있기 때문에,,(맞겠지)

그리고 split 매써드. 이게매써든지 함수인지.. 암튼
email.split('@')를 하면 @기준으로 앞 뒤로 두개가 나뉜다고 한다.

continue: 다음 반복으로 강제로 넘어가는 것
break: 무조건 코드 중지. 다음반복으로 넘어가고 자시고 할 게 없고 무조건 코드 중지 라는 표현이다.
둘 다 반복을 멈추는것이지만 다르다.. 다시 복습하기.

EDA 라는 것은 이상치 및 결측치를 처리하고 데이터 시각화를 하는 것을 말한다. 목적은 데이터를 믿어도 되는가를 가리는 것.
결측은 깔끔하게 제거하는게 좋다. 제거하는게 능사는 아니나 대체할 수 있는지 보아야 한다고 함.

모집단이 충분히 클 때 정규분포가 비슷비슷하게 나온다. 그 중앙을 중심으로 그래프를 그리는 정도가. 그때 z-score를 쓸 수 있다. 정규분포가 이루어지지 않을 때 IOR을 쓸 수 있다. 프로젝트 시 두개 다 하고 비교하라고 하심. 모집단이 크다 작다를 모르기 때문에. 실무에서는 대부분 z-score를 쓴다고 함.

그리고오늘 sql 코드카타를 풀면서 두개의 컬럼을 group화 하는 것에 대해 내가 잘 이해를 못하고 있는가 싶어서 다시 정리해보자면. group by를 두개의 컬럼에 대해서 사용했을 때: 두 컬럼의 모든 조합을 기준으로 그룹화가 된다. 2개 이상의 컬럼을 그룹화 하는 이유는 복합적인 기준으로 데이터를 그룹화하고 싶을 때이다. 예를 들어서 '각 회원이 어떤 상품을 얼마나 많이 구매했는지'를 알고 싶을 때 회원아이디와 물품아이디를 함께 기준으로 그룹화 하게 되면 각 회원이 각 상품을 얼마나 구매했는지 개별적으로 알 수가 있게 된다. 그리고 그 그룹화 된 것에서 조건을 주어서 뽑아오는것이 having절인 것.

그리고 concat(컬럼1,컬럼2,컬럼3)이런식으로 콤마로 구분해준다. 이게 다 이어지는 것임. +전화번호에 -를 넣으려면 substr함수로 뽑아와주고 그 뒤에 '-'붙여주고 concat으로 붙여주면 전화번호그냥 붙어있는 숫자에서 일반 전화번호의 형식을 갖을 수 있게 된다.

아직도 궁금한 것은 도대체 한 컬럼에 해당하는 행 전체는 어떻게 가져오는지가 아직도 미스테리이다. where절에다가 서브쿼리 해서 조건 주는 방법을 알게 되었는데, 오늘 코드카타는 그렇게 푸는게 아닌것 같다. 고치면 고칠수록 값이 사라져서 다시 멀쩡한 정신으로 첨부터 다시 풀어봐야 할 듯하다. 아. 제발 힘내자. 제발 포기하지마
좋은 소식은 더이상 떨어질 곳이 없다는 거다. 이제 올라갈 일만 남았다. 나보다 더 많이 올라가있는 동기들이 많지만 내 페이스대로 한발한발 올라가자. 제발 포기하지마!!!
나는 완전 비전공자이고, 한달동안 내내 아팠어서 더 공부량이 적을 수밖에 없으니까 낙담하지도 말고 지금 힘든게 정상이라고 튜터님도 하셨고, 다들 어려워하니까 제발 포기하지말고 나가자 제발!! 화이팅이다!

피부 알레르기만 나으면 질병 끝이다. 더이상 아프지말기!!!

profile
청지기

0개의 댓글