묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨다양한 사례로 익히는 SQL 데이터 분석
ntile 정규분포에 관하여 ... 향후 일을 하게 될 시
강의를 듣는 도중, ntile()의 경우, 분포가 skew가 심하면(정규분포가 아니라면), 순위를 매길 때, 문제가 생김을 배울 수 있었습니다. Q1. 저는 왜곡이 되어있는 걸 보자마자, 차라리 판다스나 Spark SQL로 데이터를 정규화 한뒤에, 시각화를 하는게 더 빠르지 않을까? 하는 생각이 들었는데요, 기업에서 일을 하게 될 때, 어떤 경우에 SQL을 쓰는지가 궁금합니다.저는 강사님의 강의를 수강하며, python 데이터 분석 -> 머신러닝 -> 딥러닝 이후, 현재 SQL강의를 수강하고 있습니다. 희망직무는 데이터 사이언스트 및 데이터 엔지니어를 희망하는데, 항상 채용공고를 보면, python 능력도 중요하지만 고급 SQL 능력도 자격요건으로 되어 있는 경우가 많았습니다.Q2. 현업에서 데이터를 가공하거나 처리할 때, 오히려 프로그래밍언어보다는 SQL를 훨씬 많이 쓴다고 하는데, Q1처럼 때에 따라 유동적으로 쓰는 것인지, 아니면 앞으로 데이터 분석을 연습할 때도, (이를 테면, 캐글과 같은) 파이썬 보다는 SQL위주로 연습하는 것이 더 적합한 건지 여쭙고 싶습니다. Q3. 이건 머신러닝과 관련된 이야기지만, 이렇게까지 skew가 개선되지 않을 때는 어떻게 해야하나요?from sklearn.preprocessing import StandardScaler # OverSampling을 해도 Skew가 개선되지 않음 # UnderSampling을 하면 데이터가 줄어들기 때문에, 사용에 유의가 필요하나 skew가 # 너무 심하기 때문에 사용함. from imblearn.under_sampling import CondensedNearestNeighbour from scipy import stats import numpy as np def log_transform(column): return np.log1p(column) scaler = StandardScaler() df["freq"] = log_transform(df["freq"]) df["freq"] = scaler.fit_transform(df[["freq"]]) cnn = CondensedNearestNeighbour(sampling_strategy='majority', random_state=42) X_resampled, y_resampled = cnn.fit_resample(df[["freq"]], df["user_id"].values) resampled_df = pd.DataFrame(data=X_resampled, columns=["freq"]) print(resampled_df) ####### freq 0 -0.352373 1 -0.352373 2 -0.352373 3 -0.352373 4 2.495698 ... ... 2557 -0.352373 2558 3.642937 2559 -0.352373 2560 -0.352373 2561 -0.352373 [2562 rows x 1 columns] ######### resampled_df["freq"] = log_transform(resampled_df["freq"]) resampled_df["freq"].skew() ### 2.4721717038971214
-
해결됨비전공자의 전공자 따라잡기 - 데이터베이스,SQL
설정에서 AutoIncrement를 바꿔도 수정이 되지 않습니다.
Row를 지운 후 auto_increment를 설정에서 1로 변경하도록 시도했습니다.아래 사진처럼 적용 완료되었다는 말만 나오고 도로 카운트가 원상복귀 됩니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
'' 따옴표 쓰임 관련 질문이요!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ''따옴표는 보통 문자 기재시, 사용하는 것으로 알고있는데엘리아스 뒤에도 ''따옴표인가요?어떤 책에서는 "" 쌍따옴표를 쓰고,_ 이런 특수문자사용시에 도 ""를 쓰라고해서정확한 사용법을 알려주세요ㅜ
-
미해결처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지] (업데이트)
데이터 엔지니어 되고싶은데
백엔드 엔지니어가 먼저 되어야 할까요? 스프링을 배워야 할까요?데이터 엔지니어가 백엔드부터 배워야 하는 이유ㅣ4년차 현직자의 솔직한 조언 - YouTube개발자 진로는 농업 데이터 엔지니어가 되고싶습니다팜모닝 데이터 분석가 | 그린랩스 (greenlabs.co.kr)
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
강의 일시정지/ 기간연장 검토 요청
안녕하세요! SQL 입문 - 중급까지 강의 잘 듣고 있습니다. 감사합니다. 다름 아니라, 수강 중인 백문이불여일타 중급/고급 SQL 문제풀이, 고급 SQL 강의 일시정지나 기간 연장이 가능할지 검토를 부탁드리려고 합니다. 이 강의를 계기로 SQLD 자격증을 준비하게 되었습니다. 그런데 생각보다 이론 쪽 공부할 내용이 많아, 잠시 인프런 강의를 듣기 힘든 상황이 되어서요. 시험이 11.18이라, 기간이 촉박하다보니... 부득이 요청드리게 되었어요. 시험 응시 이후에도 강의를 듣고 싶어 요청드리니, 긍정적으로 검토 부탁드립니다. 감사합니다.
-
해결됨비전공자의 전공자 따라잡기 - 데이터베이스,SQL
3정규화 퀴즈에 관해 질문 드립니다.
제 3정규화 문제 풀이에서 서비스를 기본 키로 사용해야 한다고 설명해 주셨는데이런 식으로 기본 키를 추가해서 사용해주는 건 안되는 걸까요?
-
미해결비전공자의 전공자 따라잡기 - 데이터베이스,SQL
중간 테이블 관련해서 질문드립니다
강의에서 보여주신 ERD에서는 중간 테이블들이fk만 가지고 pk는 없다고 나오는데원래 중간 테이블을 만들 때는 pk 없이 fk들만 사용하는 건가요?
-
미해결공공데이터 CSV 파일을 이용해 테이블 만들기
[14강]도로명주소 DB구축(1) 관련
안녕하세요. 이해가 잘 안가는 게 하나 있어서 질문드립니다. DB 포맷을 보면 부가정보와 지번 정보가월변동분 포맷에 변경사유코드 필드가 없고일변동분에만 변경사유코드가 있는데요. 이런 구조면 전체분대비 뭐가 바뀌었는 지를 모를텐데... 혹시, 지번정보, 부가정보의 경우는 월변동분 파일을 무시하고 일변동분을 누적해서 사용하라는 의미인걸까요?? 지번_변동분.TXT 에서 몇개 관리번호로 전체분의 번지_ㅇㅇ.TXT와 비교시 행전체가 동일해서 변경분이라고 생각이 안되서요.
-
미해결공공데이터 CSV 파일을 이용해 테이블 만들기
[13강.zip_code_DB]변경분 처리sql관련
안녕하세요. 세세한 설명 감사드립니다.sql 초급이라 자세한 설명에 맞추어 잘 따라가고 있었는데요.13강의 변경분처리 sql 에대해 loop 처리관련하여서는 전체 코드를 좀 공유해주시면 안될까요?개념적으로는 알곘는데아직 loop 문과 변수에 대해서 적용하는 것에는 익숙하지가 않아서 어떻게 해야 할 지를 모르겠습니다. ㅡㅡ;
-
미해결처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지] (업데이트)
jupiter노트북 말고 명령어 실행 할 수 있나요?
이걸 주피터 노트북에서 했던거처럼 python에서 실행하는건가요?
-
미해결데이터 분석 SQL Fundamentals
join 결과 테이블 집합 레벨
안녕하세요 [ Group by 실습 01 ] 강의를 듣다가 실습 문제에서 결과 값이 이해가 되지 않아 질문드립니다.-- 부서명 SALES와 RESEARCH 소속 직원별로 과거부터 현재까지 모든 급여를 취합한 평균 급여(with 절로 풀기)수업 듣기 전, 위의 문제에서 with 절 안의 테이블을 만들려고 아래와 같이 적었습니다. (같은 테이블 결과값이 나오는지 확인만 하려고 select 뒤에 구체적인 컬럼을 적지 않고 * 를 적었습니다.) [수업 전 작성 답안 & 결과 테이블]select *from hr.emp ajoin hr.dept b on a.deptno = b.deptnojoin hr.emp_salary_hist c on a.empno = c.empnowhere b.dname in('SAELS','RESEARCH');--> dname 에 research 만 나타납니다. [강의 예시 답안]select *from hr.dept ajoin hr.emp b on a.deptno = b.deptnojoin hr.emp_salary_hist c on b.empno = c.empnowhere a.dname in('SALES','RESEARCH');--> 나와야 하는 결과값 잘 나옴. 위의 제가 적은 답안에서 어떤점이 잘못 되었는지 도무지 보이지않아서 질문드립니다.join 만 적을시 inner join 이 적용되므로, 집합 레벨은 모든 테이블의 join 될 수 있는 모든 컬럼값 끼리 붙을 텐데, 그러면 어떤 테이블을 먼저 적던지 순서에 상관 없이 같은 결과 값이 나와야 하는 것 아닌가요?inner join 할 시에 염두해 두어야 하는 순서나 유의점이 있을까요? 답변 부탁드립니다. 감사합니다.
-
미해결처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지] (업데이트)
SAKILA 폴더에서 가져온 SCHEMA와 DATA가 정확히 뭘까요
SCHEMA는 관계 정보고 (DESC명령어로 보는)DATA는 관계에 들어가는 데이터(SELECT 명령어로 보는)인가요?DB정보를 넘길때는 보통 이 두개 파일을 넘기게 되나요?
-
미해결Oracle PL/SQL 딱 이만큼..
11g
유툽으로 가끔씩 라이브 갔었는데 pl/sql 강의 기대했다가 이제 천천히 보는중이네요 ㅎㅎ 강의를 보던중 11g 는 default로 NEXTVAL 를 지원 하지 않는거 같아서 수동으로 넣어야 할거같습니다.
-
미해결Oracle PL/SQL 딱 이만큼..
테이블 및 컬럼 설명 관련 문의
안녕하세요 강사님 먼저 실습을 바탕으로 pl/sql 을 내주셔서 너무 감사합니다 인프런 혹은 많은 유료 db 강의를 보았지만 최소한 작업 하려는 테이블, 쿼리는 이런 의미이고 관계는 이렇다 라고 설명 혹은 사진이라도 올려 주셔서 그걸 기반으로 생각하며 학습을 하는데 해당 강의는 정말 pl/sql의 기능만 알려주셔서 새로운 테이블 컬럼이 매개변수로 나오고 이러면 어떤 테이블인지 모르는 쿼리 초보인 저의 기준에서 에러가 났을시 생각을 안하고 오타만 찾기 바쁘더라구요 해당 강의를 보는 청자분들 중 저처럼 프로그래밍 안해보고, 쿼리 능력이 부족하지만 업무에 프로시져가 필요하여 헤매다 해당 강의를 듣는 사람을 위해 좀 더 배려를 해주신다면 더 많은 분들이 봐주실거라 믿습니다 감사합니다
-
미해결데이터 분석 SQL Fundamentals
집계함수를 사용할 때 반드시 group by 와 함께 써야하나요?
안녕하세요 선생님 :)집계(Aggregate) Analytic SQL 실습 - 03 에서 Q: product_id 총 매출액을 구하고, 전체 매출 대비 개별 상품의 총 매출액 비율을 소수점2자리로 구한 뒤 매출액 비율 내림차순으로 정렬 문제를 풀던 과정 중에 제가 select *from (select order_id, line_prod_seq, product_id, amount, sum(amount) as product_total_sum, round(amount/ sum(amount), 2) as total_sum_amount_ratiofrom nw.order_items)aorder by total_sum_amnt_ratio;이렇게 일단 쿼리를 적어서 실행시켜보았는데요.오류가 발생했는데 그 내용이 "order_items.order_id" 는 반드시 GROUP BY 절내에 있어야 하던지 또는 집계 함수 내에서 사용되어져야 한다.라고 하는데 왜 group by를 사용해야하는지 잘 모르겠어서 여쭤봅니다. select sum(amount) as product_total_sumfrom nw.order_items;와 같이 간단한 일반적 집계는 group by 없이 가능한데제 쿼리는 왜 실행이 안되는 걸까요?
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이
고급문제풀이set1 3번 문제
해당문제 쿼리에 대해 manager 철자를 수정시 작동한다고 피드백을 주셨는데 작동이 되지 않아서 어디가 오류가 있는지 여쭤보고자 질문드립니다 SELECT C.company_code,C.founder,COUNT DISTINCT(L.lead_manager_code),COUNT DISTINCT(S.senior_manager_code),COUNT DISTINCT(M.manager_code),COUNT DISTINCT(E.employee_code)FROM Company CINNER JOIN Lead Manager L ON C.company_code = L.company_codeINNER JOIN Senior Manager S ON S.company_code = L.company_codeINNER JOIN Manager M ON M.company_code = S.company_codeINNER JOIN Employee E ON E.company_code = M.company_codeGROUP BY C.Company_code, C.founderORDER BY C.company_code 추가로, inner join을 하는 부분이 1과 2중 어떤 부분이 왜 맞는지도 헷갈려서 설명을 부탁드리겠습니다 감사합니다 INNER JOIN Lead_Manager l ON c.company_code = l.company_codeINNER JOIN Senior_Manager s ON c.company_code = s.company_codeINNER JOIN Manager m ON c.company_code = m.company_codeINNER JOIN Employee e ON c.company_code = e.company_code INNER JOIN Lead Manager L ON C.company_code = L.company_codeINNER JOIN Senior Manager S ON S.company_code = L.company_codeINNER JOIN Manager M ON M.company_code = S.company_codeINNER JOIN Employee E ON E.company_code = M.company_code
-
미해결처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지] (업데이트)
pymysql import 시 찾을 수 없는 모듈이라 나옵니다
pip install 시 설치가 이미 되어있다고 나오는데 import 시에는 찾을 수 없다고 나옵니다...
-
미해결데이터 분석 SQL Fundamentals
postgres DB 를 다시 설치해야할 것 같은데, 어떻게 진행해야 할까요?
안녕하세요. 실습용 스키마 설치글에 댓글로 postgres DB 다시 설치해야 될 것 같다고 답글을 드렸는데, 못보시는 것 같아 새 글로 작성드립니다. postgres DB 를 다시 설치해야할 것 같습니다. 어떻게 진행해야 할까요?
-
미해결다양한 사례로 익히는 SQL 데이터 분석
사용자별 월별 세션 접속 횟수의 구간별 분포 집계 SQL - where절
선생님 안녕하세요?강의 잘 보고 있습니다.월 말일 기준으로 2일전에 생성한 user를 제외하고, session 수를 카운트 하기 위해서 where 절 안에 아래와 같이 수업시간에 말씀주셨었는데요. select a.user_id, date_trunc('month', visit_stime)::date as month, count(*) as monthly_user_cntfrom ga.ga_sess ajoin ga.ga_users b on a.user_id = b.user_idwhere b.create_time <= (date_trunc('month', b.create_time) +interval '1 month' - interval '1 day')::date -2group by a.user_id, date_trunc('month', visit_stime)::date 이 부분에 의하면, 말일 기준으로 2일 전부터 말일까지 create된 user의 경우, 모든 month에서 session 데이터가 필터링 되는데 의도하신 바가 맞으신지요? 어떤 user가 9월 29일에 create 하고, 9월 30일에 session 기록이 있으면, 이건 count되지 않고,10월 3일의 session 기록은 10월에 count하는 것이 의도하신 것이 아닌지요?그럴경우에는 아래와 같이 where 절을 수정해야 count가 될 것 같아요.where b.create_time <= (date_trunc('month', a.visit_stime)+interval '1 month' - interval '1 day')::date -2
-
미해결데이터 분석 SQL Fundamentals
제발 설치 좀 도와주세요...
이전에도 설치가 안되서 고생하다가 지인이 관리자 계정으로 접근해서 설치하는 방법을 알려주셔서 겨우 설치를 완료했었습니다.비전문가이다보니까 기초 강의만 듣고는 강의가 이해가 안되어서 추가로 다른 강의를 더 듣고 다시 강의를 들으러 왔는데, 오랜만에 접속하니 오류창이 뜨면서 안열려서 기존 설치 내역을 모두 지우고 재설치를 시도하고있습니다.그런데 자꾸 기존 데이터와 호환이 안된다는 식의 알림창이 뜨네요... 너무 듣고싶어요.... 제발 설치 좀 도와주세요 ㅠㅠ