안녕하세요. 주말과 평일 저녁 시간을 활용해 강의를 듣고 있는 직장인입니다. 현재 강의를 들으며 열심히 학습 중입니다만, 강의 수강 기간이 11월 13일에 종료되어 시험일인 11월 29일까지는 다소 시간이 부족할 것 같아 문의드립니다. 혹시 강의 수강 기간을 시험일인 11월 29일까지 연장해주실 수 있을까요? 메일주소 gusdk1541@hanmail.net 입니다. 확인 부탁드리며, 도움 주시면 감사하겠습니다. 감사합니다.
안녕하세요 제가 책보면서 공부중인데 코딩을 할 때 아래와 같이 코딩을 하다보니 에러가 뜨더라구요 result = df['차이'].min()에서 ['차이'] 이거를 빼고 하니까 되던데... 컬럼명을 넣고 안넣고에서 어떤 차이가 있는건가요..? import pandas as pd df = pd.read_csv("delivery_time.csv") # df.info() df['실제도착시간']=pd.to_datetime(df['실제도착시간']) df['주문시간']=pd.to_datetime(df['주문시간']) # df.info() df['차이']=(df['실제도착시간']-df['주문시간']).dt.total_seconds()/60 df = df.groupby('앱종류')['차이'].mean() df result = df['차이'].min() print(result)
24번 # 사용자별로 주문 거리의 합계와 평균 계산 df_distance = df.groupby('user')['거리'].sum() # 주문 거리의 합계가 50km 이상인 사용자만 필터링 cond = df_distance >= 50 df_distance = df_distance[cond] 25번 # 1회 이하 주문 제외 cond1 = time_interval>0 m = time_interval[cond1].mean() 선생님, 위 두 문제에서 df_distance 와 time_interval은 단순히 변수인가요? 그 뒤에 cond를 붙여준 것의 의미를 모르겠어요..변수에 변수를 합한 건가요? 교재 예시에 많이 나오는 df= df[cond] 코드는 cond변수 값을 df파일에 저장한다는 건가요? cond는 조건식에서만 사용하는 거죠? 그리고 25번 문제에서 시간간격이 1일 이하인 사용자 제외니까 time_intreval >0이 아니라 1인데 오류인거 같습니다.
CSV, PARQUET, DELTA 파일 성능 비교하고 DELTA의 Time Travel 사용하기 Pandas vs. Spark 100M & 1B 레코드 처리 성능 비교하기 Shuffling JOIN과 Broadcast JOIN 학습하기 이 3가지 실습과정 영상을 올ㄹㅕ주시면 좋겠습니다. 예제를 통한 판다스와 스파크 성능 비교부터 실습을 어떻게 진행해야할지 막막하네요.
분기별 매출 실적과 전년 동기 대비 증감률 문제요 1번이나 3번이나 동일한 결과값 아닌가요?: 실제 두개값 minus하니까 일치하는걸로 나오던데요.. 1번보기: SELECT YEAR, QUARTER, AMOUNT, LAG(AMOUNT) OVER (PARTITION BY QUARTER ORDER BY YEAR) as PREV_AMOUNT, ROUND((AMOUNT - LAG(AMOUNT) OVER (PARTITION BY QUARTER ORDER BY YEAR)) / LAG(AMOUNT) OVER (PARTITION BY QUARTER ORDER BY YEAR) * 100, 2) as GROWTH_RATE from SALES; 3번보기: SELECT YEAR, QUARTER, AMOUNT, LAG(AMOUNT, 4) OVER (ORDER BY YEAR, QUARTER) as PREV_AMOUNT, ROUND((AMOUNT - LAG(AMOUNT, 4) OVER (ORDER BY YEAR, QUARTER)) / LAG(AMOUNT, 4) OVER (ORDER BY YEAR, QUARTER) * 100, 2) as GROWTH_RATE FROM SALES;
지문에선 결측치가 30%이상이 되는 컬럼을 찾으라고 했는데, 강사님께서는 len(df)*0.3 을 하셨더라구요. 이건 전체 행 수의 30%를 계산한거 아닌가요?df.isnull().sum() / len(df) * 100 을 통해 나온 값 중에서 30% 이상인 컬럼들을 찾아야하는거 아닌지 여쭤봅니다. 지문에선 결측치가 있는 컬럼은 최빈값으로 대체하라고 했는데, 어떤 컬럼의 최빈값이라는게 안나와있기 때문에 df['f3'] == 'gold')이렇게 f3컬럼이라고 지정하는게 맞는지, 아니면 30%미만, 20%이상인 결측치가 있는 컬럼은 '해당 컬럼의' 최빈값으로 대체하고 라고 이해하는게 맞는지 여쭤봅니다!
부서별 급여가 가장 높은 직원을 조회하는 SQL문 문제에서 보기중에 아래 2개가 동일한것 같은데 1번보기랑 3번보기랑 같은거 같은데 왜 답이 3번이예요? 1번 쿼리에 문제가있나요? 1. SELECT * FROM EMPLOYEE WHERE (DEPT_ID, SALARY) IN (SELECT DEPT_ID, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT_ID); 3. SELECT * FROM EMPLOYEE E WHERE SALARY = (SELECT MAX(SALARY) FROM EMPLOYEE WHERE DEPT_ID = E.DEPT_ID)
체험환경 작업형3의 3번 소문제에 ' 독립표본 t-검정을 수행하고 p-값을 구하여라 .' 라고 되어있으므로, a) ' stats.ttest_ind '를 사용하는 것을 이해하였고, b) 소문제 1~2번의 문제 흐름상 '등분산성을 가진다.'라고 가정되어 ' equal_var=True '(dafault 값이지만)를 입력하신 것도 이해하였습니다. 궁금한 점은, 제가 문제 풀이 후에, 궁금해서 아래와 같이 shapiro 정규성 검정 과 levene 등분산성 검정 을 해보았는데, shapiro 정규성 검정에서 정상 그룹 데이터가 정규성을 따르지 않는 결과가 나왔습니다. 그렇다면 원래는 비모수 검정(만위트니유) 를 해야한다고 생각되는데, 그냥 문제에서 요구한 대로 ttest_ind를 사용해서 푸는 게 맞는건지 헷갈립니다. [실행했던 코드] a = df.loc[df['Classification'] == 1]['log'] b = df.loc[df['Classification'] == 2]['log'] print(stats.shapiro(a)) print(stats.shapiro(b)) print(stats.levene(a,b)) print(stats.ttest_ind(a, b)) [출력 값] ShapiroResult(statistic=np.float64(0.9521376332731428), pvalue=np.float64( 0.03589547584091299 )) ShapiroResult(statistic=np.float64(0.9801637075675661), pvalue=np.float64(0.3916017054819772)) LeveneResult(statistic=np.float64(1.8175868256604175), pvalue=np.float64(0.18027345425360713)) TtestResult(statistic=np.float64(-3.0286077921788532), pvalue=np.float64(0.003039226943143319), df=np.float64(114.0))
이 부분도 이해가 잘 안 가서 추가로 질문드려요. Sink 과정을 자세히 쪼개보면 SinkWriter, Committer, Global Committer로 나눌 수 있는데, SinkWriter로 로컬에 데이터를 임시로 쓰면 Committer가 커밋을 수행한다는 내용이 맞나요? 그리고 Topology 용어도 궁금한데요 Topology가 네트워크 시간에 노드들을 연결해놓은 방식이라고 배웠었는데요 여기서 Topology가 어떤 뜻으로 사용되나요? (강의 덕분에 단어도 많이 알아가네요) 마지막으로 flink 문서를 찾아보니 SinkWriter, Committer, Global Committer 클래스가 삭제 되었다고 나오는데요, 버전업이 되면서 이제는 이런 방식으로 동작하지 않는 건가요? 답변 미리 감사드립니다.. 🙌 저는 오늘 이까지 들으려구요. 휴가 잘 다녀오세요!!!