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인데 오류인거 같습니다.
navbar.html에서 로그아웃 버튼을 생성 할 때 기존에 {% if session_user % } ... (1) {% else %} ... (2) {% endif %} 하고 이 아래 쪽에 다시 if session_user를 해서 로그아웃을 하는 이유가 무엇일까요? 그냥 (1) 위치에 a태그 달아서 로그아웃을 만들면 안될까요?
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? [4주차] 4-9 어떤 알고리즘을 학습하고 계신가요? Heap 여기까지 이해하신 내용은 무엇인가요? 개념은 이해 완료했습니다. 2. 어려움을 겪는 부분 어느 부분에서 막히셨나요? 숙제 1번에서 노션 예제 2번째(코드 내 예제X) 코드의 어떤 로직이 이해가 안 되시나요? stock = 0, dates = [0, 10, 15], supplies = [20, 10, 15], k = 35 일 경우, 0일과 15일에 공급량을 가져오는 게 정답(즉, 2의 리턴값)이라고 주석에 적혀있습니다. 알려주신 로직으로 해당 예제 실행 시, 3의 값이 나옵니다. while stock <= k: 위의 코드에서 같을 때도 해당 반복문을 돌도록 되어 있기 때문인데, 작은게 "stock < k" 가 아니라 "stock <= k"인 이유가 궁금합니다.
설명에서 멀티코어 CPU 가 8개 있으면 한번에 16개 쓰레드를 실행할 수 있다고 말씀하시면서 설명을 진행해주셨는데요. 이전부터 궁금한게 있습니다. (제가 경험한 바로) 실무에서는 하나의 서버에 하나의 어플리케이션 (ex. 자바 웹 어플리케이션) 만 올려왔습니다. 이런 경우에는 위에서 말씀하신것처럼 웹 애플리케이션의 쓰레드들이 모든 cpu core 를 사용하게 될거라고 예상이 됩니다. 반면에 저희가 평소에 사용하는 환경 (ex. 윈도우) 에서는 하나의 유저 어플리케이션만 돌아가는게 아니라, 여러개의 유저 어플리케이션이 돌아갈텐데요. 예를 들어, intellij, chrome, 실습중인 자바 웹어플리케이션 등이 동시에 돌아가게 되면 각각의 유저 어플리케이션 내부에 존재하는 쓰레드들이 cpu 코어를 나눠쓰게 된다고 알고 있습니다. 이런 경우에는, 강좌에서 설명하신것처럼 cpu core 8개를 기준으로 최적화를 해도 사실상 제대로 최적화가 안될거 같은데 맞을까요 (= 다른 어플리케이션이 같이 돌아가니)? 그리고, cpu 코어를 사용하는 순서 (스케줄링) 는 os 에 의해서 정해지는걸로 알고 있는데요. 예를 들어, intellij (쓰레드 3개), chrome (쓰레드 5개), 웹서버 (쓰레드 50개) 라고 가정했을때 쓰레드가 많은 유저 어플리케이션이 cpu 의 사용횟수가 많을거라고 생각해도 될까요? 아니면, os 에서 유저 어플리케이션 3개에 공평하게 30% 씩 사용시간을 분배하고 이 30%의 시간을 내부에 있는 쓰레드들이 나눠쓰게 되는걸까요? 강사님 설명이 너무 좋아서 여러 방면에서 생각하다보니 질문이 많아졌습니다. 답변 미리 감사합니다 🙂
지문에선 결측치가 30%이상이 되는 컬럼을 찾으라고 했는데, 강사님께서는 len(df)*0.3 을 하셨더라구요. 이건 전체 행 수의 30%를 계산한거 아닌가요?df.isnull().sum() / len(df) * 100 을 통해 나온 값 중에서 30% 이상인 컬럼들을 찾아야하는거 아닌지 여쭤봅니다. 지문에선 결측치가 있는 컬럼은 최빈값으로 대체하라고 했는데, 어떤 컬럼의 최빈값이라는게 안나와있기 때문에 df['f3'] == 'gold')이렇게 f3컬럼이라고 지정하는게 맞는지, 아니면 30%미만, 20%이상인 결측치가 있는 컬럼은 '해당 컬럼의' 최빈값으로 대체하고 라고 이해하는게 맞는지 여쭤봅니다!
출력문에서 run(f)로 정의한 f 함수를 매개변수로 보내고 f.app(3) 을 실행하는데 f에 경우에 app을 따로 구현안했는데 어떻게 실행이 되는건가요? 그리고 이후에 run(n -> n+9) 또한 따로 app()을 정의한 것 같지않은데 말이죠.. 또한 f.app(3)가 어떻게 저 3이 f 함수에 매개변수로 들어가는지도 궁금합니다. 제가 해석한 건 f.app(3)는 f안에 있는 app메소드에 3을 전달하는 걸로 해석이 되는데 어째서 f 함수 매개변수 x에 3이 전달되는지
강의 들으면서 linkedList, stack, deque 처럼 알고리즘 공부를 하면서 차근차근 알아가는 방식이 좋다고 생각합니다. 근데 실무에서 사용하기엔 대부분 import 로 모듈구현을 활용하는 방식으로 진행될텐데, 실무에서 사용하기 좋은 모듈들을 모아놓은 자료가 있는지 궁금합니다! 감사합니다 😃
체험환경 작업형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))
현재 자바로 코딩테스트 준비 중인데, 속도나 문법 난이도 때문에 파이썬으로 바꿔볼까 고민 중입니다. 이미 자바 문법은 어느 정도 익숙하지만 문제 풀이 속도가 느리고 구현이 복잡하게 느껴져요. 언어를 파이썬으로 바꾸는 게 현실적으로 도움이 될까요, 아니면 자바를 계속 잡고 가는 게 나을까요?
안녕하세요 김현진 선생님 강의 잘 듣고 있습니다. 아래의 퀴즈를 풀다가 궁금한 점이 생겨서 질문을 남깁니다. 스케줄러의 DAG 파일 파싱 부하를 줄이기 위해 권장되는 코드 작성 방법은 무엇일까요? --> 라이브러리 import 문을 Python callable 함수 내부로 옮긴다. 위 설명을 이해하기 위해서 상황을 가정해보았는데요, python callable 함수 외부에 선언된 API 호출문이 있는 경우를 피해야하고, 만약 그렇게 되면 스케쥴러가 DAG을 파싱할 때마다 실행되는 상황이 되는 것이 맞을까요?