묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결다양한 사례로 익히는 SQL 데이터 분석
캐글데이터 Postgresql 사용
안녕하세요! 강의 정말 잘 보고 있습니다!.강의 참고하면서, Kaggle에서 괜찮은 데이터로 매출분석, 퍼널분석 프로젝트해서 포트폴리오 만들어 보려고 하고 있습니다.그런데 Kaggle csv데이터를 Postgresql에서 쉽게 로드할 수 있는 방법이 있을까요?검색해보니 pgAdmin이라는 툴도 있는 것 같던데, DBeaver하고는 사용하는 법이 많이 다른 것 같아서요.DBeaver에서 csv 파일 DB에 적재하려면, 어떻게 해야할까요?? 감사합니다!
-
미해결지금 당장 성과내기, 페이스북 퍼포먼스 마케팅 실습
강의자료 요청드려요
강의 잘 듣고 있어요 그런데강의자료가 안보이네요 wboruem@naver.com저도 강의자료 요청드려요~
-
미해결GA4 필수 코스 (by 현직 실리콘밸리 마케팅 디렉터)
섹션 6 - 콘텐츠 그룹 설정 정규식 변환...모르겠어요 ㅠㅠ
콘텐츠 그룹 설정 시, 변수 값 입력할 때 gtm에 정규식 변환 패턴을 입력해야 한다고 말씀해주셨는데요! 정규식 패턴을 어떻게 적어야 하는지 모르겠어요 ㅠㅠ .* 혹은 / 이런 슬러쉬 값이 어떻게 들어가야 하는지 감이 안 잡히네요.. ㅠㅠ 가르쳐준 방식대로 했는데, 제 건 미리보기 하니깐 값이 제가 설정해둔 출력값으로 뜨지 않고, 변수 이름인 'content_grouping'으로 뜨더라구요..
-
미해결지금 당장 성과내기, 페이스북 퍼포먼스 마케팅 실습
강의 자료는 어떻게 다운받아야 하나요?
강의 자료 링크 접속했는데 안뜨네요 ㅜ어떻게 해야하죠? 강의 듣다가 막혔어요
-
미해결다양한 사례로 익히는 SQL 데이터 분석
mau 구할때 group by 사용안해도 count 집계함수가 왜 가능한지 모르겠습니다.
웹 접속 및 사용분석 실습 1번 파일입니다. select :current_date , count(distinct user_id) as daufrom ga_sesswhere visit_stime >= (:current_date - interval '1 days') and visit_stime < :current_date. 위 코드의 count()는 왜 group by 없이도 작동하는 것인가요?
-
미해결다양한 사례로 익히는 SQL 데이터 분석
매출분석 1에서 partition by와 group by의 차이
안녕하세요 선수 강의에서 언급한 내용일 수도있는데 선수 강의를 수강하지 않아 질문드립니다!매출분석 01의 상품별 매출액 과 상품별 카테고리별 전체 매출액 대비 비율 강의에서 질문있습니다 상품별 카테고리별 전체 매출액 대비 비율은sum_amount(product 기준으로 groupby한 상품별 매출액) / sum(sum_amount) over (partition by category_name) as product_category_ratio 로 구했는데partition by가 아니라 group by category_name 로 분석할 수는 없는건가요?sum(sum_amount) over (partition by category_name) 이 부분 자체가 작은 groupby를 진행한? 결과인 걸까요 over partition by와 group by간의 차이, 사용용도의 차이가 궁금합니다
-
미해결다양한 사례로 익히는 SQL 데이터 분석
postgres 설치 오류
postgres가 설치가 되지 않고다음과 같은 메시지만 계속 뜹니다.삭제 후 다시 해봐도 똑같은데, 어쩌죠?
-
미해결다양한 사례로 익히는 SQL 데이터 분석
맥 계정에서 postgres 접속 시 비밀번호 입력 실패현상
맥에서 postgres 계정에 접속하려고 할 시 해당 화면이 뜨는데 postgres를 입력해도 저런 오류가 떠서 질문드립니다 ㅠㅠ
-
미해결GA4 필수 코스 (by 현직 실리콘밸리 마케팅 디렉터)
Google Tag 설정 방법
질문 날짜: 2024년 1월 4일질문 내용: Google Tag 설정 방법안녕하세요. '콘텐츠 그룹 설정' 강의 관련하여 질문 드립니다.강의에서는 'GA4 - 콘텐츠 그룹' 태그 구성의 태그 유형이 'Google 애널리틱스: GA4 구성'으로 설정되는데요, 해당 유형을 GTM에서 찾을 수 없어 검색해보니 2023년 하반기에 Google Tag로 변경되어 '설정할 필드' 설정 부분이 사라진 것 같습니다.아마 찾아가며 설정해보면 오늘 해결 가능할 것 같긴 하지만 강사님께서 권장하는 설정 방법이 있으실지 질문드립니다 😄
-
미해결다양한 사례로 익히는 SQL 데이터 분석
pandas 연계시 오류.....
(아나콘다를 깔고나서 새 파일에서 뭘 수정하려고하면 바로 연결이 끊기는 문제가 생겨 주피터 노트북으로 설치하였습니다. 필요한 라이브러리들은 모두 따로 설치하였습니다.)버전은 아래와 같습니다.오류가 발생하는 부분은 이 부분인데query문이 있는 셀의 전체 오류문은 아래와 같습니다--------------------------------------------------------------------------- UnicodeDecodeError Traceback (most recent call last) Cell In[12], line 4 1 query = """ 2 select * from nw.customers 3 """ ----> 4 df = pd.read_sql_query(sql=query, con=postgres_engine) 5 df.head(10) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\sql.py:485, in read_sql_query(sql, con, index_col, coerce_float, params, parse_dates, chunksize, dtype, dtype_backend) 482 dtype_backend = "numpy" # type: ignore[assignment] 483 assert dtype_backend is not lib.no_default --> 485 with pandasSQL_builder(con) as pandas_sql: 486 return pandas_sql.read_query( 487 sql, 488 index_col=index_col, (...) 494 dtype_backend=dtype_backend, 495 ) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\sql.py:851, in pandasSQL_builder(con, schema, need_transaction) 848 raise ImportError("Using URI string without sqlalchemy installed.") 850 if sqlalchemy is not None and isinstance(con, (str, sqlalchemy.engine.Connectable)): --> 851 return SQLDatabase(con, schema, need_transaction) 853 warnings.warn( 854 "pandas only supports SQLAlchemy connectable (engine/connection) or " 855 "database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 " (...) 858 stacklevel=find_stack_level(), 859 ) 860 return SQLiteDatabase(con) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\sql.py:1576, in SQLDatabase.__init__(self, con, schema, need_transaction) 1574 self.exit_stack.callback(con.dispose) 1575 if isinstance(con, Engine): -> 1576 con = self.exit_stack.enter_context(con.connect()) 1577 if need_transaction and not con.in_transaction(): 1578 self.exit_stack.enter_context(con.begin()) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\base.py:3268, in Engine.connect(self) 3245 def connect(self) -> Connection: 3246 """Return a new :class:`_engine.Connection` object. 3247 3248 The :class:`_engine.Connection` acts as a Python context manager, so (...) 3265 3266 """ -> 3268 return self._connection_cls(self) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\base.py:145, in Connection.__init__(self, engine, connection, _has_events, _allow_revalidate, _allow_autobegin) 143 if connection is None: 144 try: --> 145 self._dbapi_connection = engine.raw_connection() 146 except dialect.loaded_dbapi.Error as err: 147 Connection._handle_dbapi_exception_noconnection( 148 err, dialect, engine 149 ) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\base.py:3292, in Engine.raw_connection(self) 3270 def raw_connection(self) -> PoolProxiedConnection: 3271 """Return a "raw" DBAPI connection from the connection pool. 3272 3273 The returned object is a proxied version of the DBAPI (...) 3290 3291 """ -> 3292 return self.pool.connect() File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:452, in Pool.connect(self) 444 def connect(self) -> PoolProxiedConnection: 445 """Return a DBAPI connection from the pool. 446 447 The connection is instrumented such that when its (...) 450 451 """ --> 452 return _ConnectionFairy._checkout(self) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:1269, in _ConnectionFairy._checkout(cls, pool, threadconns, fairy) 1261 @classmethod 1262 def _checkout( 1263 cls, (...) 1266 fairy: Optional[_ConnectionFairy] = None, 1267 ) -> _ConnectionFairy: 1268 if not fairy: -> 1269 fairy = _ConnectionRecord.checkout(pool) 1271 if threadconns is not None: 1272 threadconns.current = weakref.ref(fairy) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:716, in _ConnectionRecord.checkout(cls, pool) 714 rec = cast(_ConnectionRecord, pool._do_get()) 715 else: --> 716 rec = pool._do_get() 718 try: 719 dbapi_connection = rec.get_connection() File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\impl.py:169, in QueuePool._do_get(self) 167 return self._create_connection() 168 except: --> 169 with util.safe_reraise(): 170 self._dec_overflow() 171 raise File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\util\langhelpers.py:146, in safe_reraise.__exit__(self, type_, value, traceback) 144 assert exc_value is not None 145 self._exc_info = None # remove potential circular references --> 146 raise exc_value.with_traceback(exc_tb) 147 else: 148 self._exc_info = None # remove potential circular references File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\impl.py:167, in QueuePool._do_get(self) 165 if self._inc_overflow(): 166 try: --> 167 return self._create_connection() 168 except: 169 with util.safe_reraise(): File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:393, in Pool._create_connection(self) 390 def _create_connection(self) -> ConnectionPoolEntry: 391 """Called by subclasses to create a new ConnectionRecord.""" --> 393 return _ConnectionRecord(self) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:678, in _ConnectionRecord.__init__(self, pool, connect) 676 self.__pool = pool 677 if connect: --> 678 self.__connect() 679 self.finalize_callback = deque() File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:902, in _ConnectionRecord.__connect(self) 900 self.fresh = True 901 except BaseException as e: --> 902 with util.safe_reraise(): 903 pool.logger.debug("Error on connect(): %s", e) 904 else: 905 # in SQLAlchemy 1.4 the first_connect event is not used by 906 # the engine, so this will usually not be set File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\util\langhelpers.py:146, in safe_reraise.__exit__(self, type_, value, traceback) 144 assert exc_value is not None 145 self._exc_info = None # remove potential circular references --> 146 raise exc_value.with_traceback(exc_tb) 147 else: 148 self._exc_info = None # remove potential circular references File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:898, in _ConnectionRecord.__connect(self) 896 try: 897 self.starttime = time.time() --> 898 self.dbapi_connection = connection = pool._invoke_creator(self) 899 pool.logger.debug("Created new connection %r", connection) 900 self.fresh = True File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\create.py:637, in create_engine.<locals>.connect(connection_record) 634 if connection is not None: 635 return connection --> 637 return dialect.connect(*cargs, **cparams) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\default.py:616, in DefaultDialect.connect(self, *cargs, **cparams) 614 def connect(self, *cargs, **cparams): 615 # inherits the docstring from interfaces.Dialect.connect --> 616 return self.loaded_dbapi.connect(*cargs, **cparams) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\psycopg2\__init__.py:122, in connect(dsn, connection_factory, cursor_factory, **kwargs) 119 kwasync['async_'] = kwargs.pop('async_') 121 dsn = _ext.make_dsn(dsn, **kwargs) --> 122 conn = _connect(dsn, connection_factory=connection_factory, **kwasync) 123 if cursor_factory is not None: 124 conn.cursor_factory = cursor_factory UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb8 in position 63: invalid start byte
-
해결됨구글에서 인정한 파트너가 세팅하는 방식 그대로: 구글광고 이론과 실습
구글 애널리틱스 질문
수업 화면과 현재 애널리틱스 구성이 많이 달라 보이는데 혹시 해당 내용에 대한 업데이트는 없을까요? ㅠㅠ
-
미해결그로스해킹 - 데이터와 실험을 통해 성장하는 서비스를 만드는 방법
강의질문
책과 강의 내용이 일치하는걸까요?
-
해결됨핵심만 쉽게, 모두의 SQL 데이터 분석
교안 pdf
안녕하세요.교안pdf는 따로 받을 수 없나요?
-
미해결다양한 사례로 익히는 SQL 데이터 분석
시각화 그래프가 안보여요
안녕하세요. 매출 분석01 - 일/주/월/분기별 매출액 및 주문건수 시각화 하기강의를 들으면서 코드를 실행하는데 그래프가 이러타할 오류없이 나타나지 않아서 글 작성합니다. 각각 라이브러리의 버전은 아래와 같습니다. 쥬피터 파일 내의 [일별 매출 시각화] 에 대한 코드를 실행하는데, 쿼리가 들어간 데이터 프레임까지는 잘 실행이 되는데, 그래프를 그리는 코드를 실행하면 그래프가 나타나지 않습니다. <스크린샷1 - 데이터 프레임은 잘 나타남> <스크린 샷2 - 그래프 그리는 코드 실행시 그래프가 나타나지 않음> <스크린 샷 3 - 그래프 그리는 코드 실행시 그래프가 나타나지 않음> <스크린 샷4 - 키 에러라고 뜨는데 왜 이렇게 나타나는지 잘 모르겠어요. 코드를 따로 바꾸거나 수정하지 않았습니다. > 터미널이 이상해서 그런가하고 전체적으로 다 끄고 다시 켜서 실행해 봤는데도 나타나지 않아서 질문 드립니다.
-
해결됨구글에서 인정한 파트너가 세팅하는 방식 그대로: 구글광고 이론과 실습
GA에서 유입 경로 확인
안녕하세요, 강의 감사합니다.아직 GA를 전혀 알지 못해서 궁금한 점이 한 가지가 있습니다.저희 회사는 출판사여서 자체 웹 사이트가 아닌 온라인 서점을 통해 책을 판매하고 있습니다.이러한 경우에는 GA에서 유입 경로를 확인하는 것이 불가능한가요?답변 주시면 감사하겠습니다.
-
해결됨다양한 사례로 익히는 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
-
미해결3시간에 끝내는 디지털 마케팅의 모든 것
구좌계약의 단점 질문
강사님 안녕하세요! 강의 수강중에 질문사항이 있어 글 올립니다.콘텐츠 마케팅의 구좌계약의 단점에서 중간단계 확인불가로 인해 성과추적한계가 있다고 말씀하셨는데 여기서 중간단계란 어떤 의미인지 또 왜 확인이 불가한지 궁금합니다! 답변해주시면 감사하겠습니다!
-
해결됨비즈니스 애널리틱스, 데이터 기반 마케팅 영업 전략 실무 마스터 클래스
고객 유효 확률 > 최신 거래 시점
안녕하세요 :) 인프런 수강생입니다.유익한 강의 너무 감사합니다! 고객 유효 확률 파트를 듣던 중 궁금한 점이 있어 질문 남겨 드립니다. 1) (t/T) ^ n>> 해당 공식에서 t 가 '고객의 가장 최근 거래 시점' 이리고 말씀해주셨는데, 실제 엑셀상에서 계산할 때는 '최초 구매일 - 최신 구매일' 로 계산해주신 것을 보았습니다. '고객의 가장 최근 거래 시점' 이 저는 '최신 구매일' 과 동일할 것이라 생각했는데, '최초 구매일- 최신 구매일' 특정 '기간' 처럼 계산하게 되는 이유에 대해 좀 더 구체적으로 말씀해주실 수 있을까요?? 2) 해당 공식의 출처고객을 유의미하게 보는 공식을 처음 접해서 해당 공식이 나오게 된 배경이나 다른 공식들이 있는지 더 검색해보고 싶은데 단순히 '고객 유효 확률' 이라 검색했을 때는 검색 결과가 한정적인 것 같습니다. 혹시 추천해주실만한 검색 키워드나 해당 공식의 출처에 대해서도 말씀해주실 수 있으실까요??
-
미해결다양한 사례로 익히는 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 데이터 분석
쿼리 관련 질문이 있습니다.
안녕하세요. 강의 듣는 중 궁금한 점이 있어서 질문드립니다. 만약 '카테고리별 기준 월, 전 월, 작년 월 ( 기준 월 = 2023/10, 전월 = 2023/09, 작년 월 = 2022/10)의 차이'를 구하라고 한다면 강의와 같이 기준 연월의 일년 정도의 데이터(2022/10 ~ 2023/10)를 가져와서 사용하는게 더 좋을까요?아니면, 3개 조건 각각 select하여 카테고리 기준으로 join하는게 더 좋을까요?ex) with as ( 기준 월), with as (전 월), with as (작년 월)... 혹은 더 좋은 방법이 있다면 알려주시면 감사하겠습니다. 이런 질문 드려도 되는지 모르겠지만.. 강의 잘 듣고 있습니다.감사합니다.