inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

def attach_wrapper의 return func를 하는 이유?

미해결

파이썬 중급

안녕하세요 강사님! 좋은 강의 정말 잘 듣고 있습니다. 지난 질문에도 친절하게 답변 달아주셔서 감사의 말씀 드립니다. 이번 메타프로그밍 3.1절을 들으면서 잘 이해가 안되는 부분이 있어서 이렇게 질문글을 작성합니다. 질문은 다음과 같습니다. Q1. attach_wrapper가 return 하는 func는 누구인가? 최종적으로 그 func는 누가 받는가? def attach_wrapper(obj, func=None): if func is None: return partial(attach_wrapper, obj) setattr(obj, func.__name__, func) return func 위의 def attach_wrapper 가 @attach_wrapper(wrapper) 형태로 데코레이트하면, func=None 일 때 partial() 을 통해서 def attach_wrapper 함수 객체 본인을 return 해서 첫번째 인자인 obj 를 wrapper 로 고정시키는 것까지 이해를 했습니다. func=None 이 아니면 setattr() 을 통해, obj 가 갖고 있는 어트리뷰트 func 의 이름을 인자로 받은 func 로 값을 셋팅하는 것까지도 이해를 했습니다. 그런데 최종적으로 return 되는 게 func 라는 것이 잘 이해가 되지 않습니다. return 되는 func 를 누가 받는걸까요? func 를 유추하기까지 저의 사고 흐름은 아래와 같았습니다. @attach_wrapper(wrapper) def set_level(newlevel): nonlocal level level = newlevel def set_level 이 데코레이트 되는 내부 사정은 set_level = attach_wrapper(wrapper)(set_level) 이 될텐데요. set_level = attach_wrapper(wrapper)(set_level) 에서 attach_wrapper(wrapper) 는 partial() 을 통해 def attach_wrapper 본체가 return 되었기 때문에, 데코레이트 되는 내부 사정을 달리 표현하면 set_level = attach_wrapper(obj=wrapper, func=set_level) 라고 이해를 했습니다. 그러면.. attach_wrapper(obj=wrapper, func=set_level) 가 return 하는 게 func 인데, set_level = func 이니까.. set_level = set_level 이 되는건가요? 추가 질문 def attach_wrapper 함수에서 return func 를 주석처리 하고 실행을 해도 결과가 똑같이 나오는데 이유를 잘 모르겠습니다.. 어째서 return func 가 아무런 효용이 없었던 걸까요..? 혹시 제가 잘 못 이해한 부분이 있다면 어김없이 피드백 부탁드리겠습니다! (아래에는 출력 결과물을 첨부하였습니다.) """ # return func 주석 처리 후 결과 DEBUG:__main__:add DEBUG:__main__:Add called WARNING:__main__:Add called DEBUG:__main__:countdown CRITICAL:__main__:countdown DEBUG:__main__:countdown2 CRITICAL:__main__:countdown2 5 5 5 countdown 0.009128093719482422 countdown 0.007673978805541992 countdown2 0.0056438446044921875 countdown2 0.005079030990600586 --- # 원본 코드 실행 결과 DEBUG:__main__:add DEBUG:__main__:Add called WARNING:__main__:Add called DEBUG:__main__:countdown CRITICAL:__main__:countdown DEBUG:__main__:countdown2 CRITICAL:__main__:countdown2 5 5 5 countdown 0.007693052291870117 countdown 0.006663084030151367 countdown2 0.005110979080200195 countdown2 0.0052149295806884766 """

  • python
  • numpy
  • matplotlib
  • 웹-스크래핑
  • 병렬-처리
개발자아닙니다 댓글 1 좋아요 0 조회수 244

기출 4회 (작업형 2)

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

랜덤포레스트로 모델을 학습하고 train_test_split으로 데이터를 나누지 않은 이유는 교차검증이 그 역할을 대신해서 그런건가요?? 교차검증을 스스로 생각해내기는 어려울거 같은데 그러면 평소처럼 train_test_split으로 데이터를 나누고 잘 모르는 macro f1_score 대신에 다른 평가지표를 사용해서 제출해도 되는걸까요?? 선생님 항상 친절한 답변 감사합니다 🥹🥹

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
박나현 댓글 1 좋아요 0 조회수 147

강의자료 부탁드립니다!

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

강의 자료를 다운 받으려고 했는데 깨져서 나와서요! 자료 발송 부탁드립니다 99doldol@naver.com

  • python
현욱김 댓글 1 좋아요 0 조회수 128

오류

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 import pandas as pd train = pd.read_csv("data/customer_train.csv") test = pd.read_csv("data/customer_test.csv") pd.set_option('display.max_columns',None) train['환불금액'] = train['환불금액'].fillna(0) test['환불금액'] = test['환불금액'].fillna(0) cols = train.select_dtypes(exclude='object').columns target = train.pop('성별') from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier() rf.fit(train[cols], target) pred = rf.predict_proba(test[cols]) print(pred) 오류 Makefile:6: recipe for target 'py3_run' failed make: *** [py3_run] Error 1 Traceback (most recent call last): File "/goorm/Main.out", line 29, in <module> model.fit(train[cols], target) File "/usr/local/lib/python3.9/dist-packages/pandas/core/frame.py", line 3511, in getitem indexer = self.columns._get_indexer_strict(key, "columns")[1] File "/usr/local/lib/python3.9/dist-packages/pandas/core/indexes/base.py", line 5782, in get indexer_strict self._raise_if_missing(keyarr, indexer, axis_name) File "/usr/local/lib/python3.9/dist-packages/pandas/core/indexes/base.py", line 5845, in raise if_missing raise KeyError(f"{not_found} not in index") KeyError: "['성별'] not in index" 도와주세요 왜 select_dtypes로 쓰니까 안되나요

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
joy10780 댓글 2 좋아요 0 조회수 328

작업형 1 모의문제 4번 행단위로 합한 값이 3000보다 큰 값 데이터 수 구하

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 이렇게 작성해도 답은 같게 나오는데 이렇게 풀어도 될까요? import pandas as pd pd.read_csv('members.csv') df=pd.read_csv('members.csv') cut = df.select_dtypes(include='object').columns #exclude도 있다 df= df.drop(cut,axis=1) df = df.fillna(0) df.head() df = df.sum(axis = 1) sum(df > 3000)

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
김주원 댓글 2 좋아요 0 조회수 194

3번 2018-01 과 dt.year/month 차이점

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

df['date_added']= pd.to _datetime(df['date_added']) a=df['date_added']=='2018-01' b=df['country']=='United Kingdom' df[a&b] 이렇게 하면 3이 나오는데 이유가 무엇일까요? 2018-01로 필터는 되는거같은데 차이점이 있는지 궁금합니다. dt.year/month 각각 나눠줘야만 정답출력되는건지도요

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
FU 댓글 1 좋아요 0 조회수 184

수치형, 범주형 데이터 분리 기준

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

선생님 어떤 문제풀이에서는 데이터에 수치, 범주형 데이터가 섞여 있어도 분리하지 않고 어떤 문제에서는 따로 분리해서 전처리 하시는데 혹시 기준이 있을까요? 그리고 만약에 범주형 데이터를 레이블인코딩으로 cols = train.select _dtypes(include = 'object') ,, for col in cols 이런식으로 셀렉트 디타입으로 반복문을 사용할 거라면 굳이 수치형, 범주형을 나눌 필요가 없는건가요??

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
박나현 댓글 2 좋아요 0 조회수 311

pd.concat(result.tolist()) 오류 문의

해결됨

파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기

5.1 업종 테마주 수집.ipynb 진행 과정에서 pd.concat(result.tolist()) 에서 InvalidIndexError: Reindexing only valid with uniquely valued Index objects 가 발생하는데, inplace=True를 추가 또는 다양한 방법으로 해결하려 해도 해결이 되지 않습니다. 이전 다른 분들도 같은 오류가 나서 문의를 하였는데 해결이 되었나요? 참고로, 테스트 하는 과정에서 get_item_info 함수 안의 finance_info = tables[3].iloc[:, [0, -1]] finance_info.columns = [0, 1] item_info.append(finance_info) 문장을 주석처리 하면 pd.concat(result.tolist()) 부분이 정상적으로 처리가 되고 있습니다. 원인과 해결 방법을 알려 주시면 감사하겠습니다.

  • python
  • pandas
  • numpy
  • 웹-크롤링
  • seaborn
  • plotly
  • matplotlib
  • 웹-스크래핑
김승백 댓글 1 좋아요 0 조회수 295

캐글 T2-5. Insurance Forecast (Regression) 질문

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

y= y_train['charges'] # X_train.info() object : sex, smoker,region # X_train.isnull().sum() --> 결측값 없음 X_train.head(2) drop_col = ['id'] train_drop = X_train.drop(columns=drop_col) test_drop = X_test.drop(columns=drop_col) #원핫인코딩 X_train_dummies = pd.get_dummies(train_drop) X_test_dummies = pd.get_dummies(test_drop) #train_test_split from sklearn.model_selection import train_test_split x_tr,x_val,y_tr,y_val = train_test_split(X_train_dummies,y,test_size=0.33, random_state = 42) #랜포 from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor() model.fit(x_tr,y_tr) pred = model.predict(x_val) #평가 from sklearn.metrics import mean_squared_error,r2_score,mean_absolute_error import numpy as np print("rmse", np.sqrt(mean_squared_error(y_val,pred))) print("r2_score",r2_score(y_val,pred)) print("mae", mean_absolute_error(y_val,pred)) #저장 answer = model.predict(X_test_dummies) result = pd.DataFrame({'id': X_test.id, 'charges' : answer}) result.to_csv('00000.csv', index = False) output = pd.read_csv("00000.csv") print(output.head(2)) 선생님 안녕하세요. 지금 코드 틀 외워서 하나하나 문제 풀어보고 있습니다.. 작년에 회귀문제에서 된통 당한 이후로 꼼꼼히 보고 있는데 아직 확신이 서지 않습니다 ㅠㅠ 혹시 여기서 코드 오류가 있을까요..? 더불어 T2-5의 경우 결측치도 없고, object도 별로 없어서 get_dummies로 해결했는데 T2-4처럼 결측치도 많은데다가 object도 많이 있으면 어떻게 해야할지도 잘 모르겠습니다..

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
미미밍 댓글 1 좋아요 0 조회수 158

shapiro 검정을 하는 경우, 반드시 정규성을 따르지 않는 것 아닌가요?

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

현재 독립표본검정 - 단일표본검정, 대응표본검정까지 들었습니다. 문제에 '정규분포에 따른다'는 말이 없으면 shapiro 검정을 통해 정규분포를 따르는지, 아닌지부터 따져야 하는데 현재 강의의 예는 정규분포를 따르지 않는 것만 있는 것 같아서 확인 차 여쭙습니다. shapiro 검정 결과 정규분포를 따를 때에는 문제에 정규분포를 따른다고 할 때와 같이 wilcoxon이 아닌 ttest로 검정하는것 맞을까요 ?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
aprilminji 댓글 2 좋아요 0 조회수 532

캐글 T1-35번 (2)문제 질문드립니다.

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

선생님 안녕하세요. T1-35 2번문제 풀다가 질문있습니다. 이렇게 풀때, 정답이 아무리해도 10580.0이 나오는데 어디 부분이 잘못되었을까요? new = df[df['Feedback'].str.contains('제품')] new.groupby('Category')['Feedback'].size() #서비스 df['OrderDate'] = pd.to_datetime(df['OrderDate']) df['ArrivalDate'] = pd.to_datetime(df['ArrivalDate']) df['배송시간(분)'] = (df['ArrivalDate'] - df['OrderDate']).dt.total_seconds()/60 answer = new[new['Category'] == "서비스"]['배송시간(분)'].mean() answer

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
미미밍 댓글 1 좋아요 0 조회수 157

섹션10. 예시문제 작업형3에서 오즈비 질문 드립니다

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요~ 작업형3에서 오즈비에 대해 질문드립니다. 한 단위가 아닌, 두 단위로 오즈비를 증가시킬 때는 exp( exp ( -0.3539) ) 로 하면될까요? 여기선 하나의 독립변수에 대해서만 오즈비를 구하라고 되어있는데, 만약 2 개의 독립변수에 대한 오즈비를 구하라고하면 어떻게 구하나요?? 이건 이론적으로 가능한건지 잘모르겠어서 질문드립니다.. 다시 말하면 오즈비는 하나의 독립변수에 대해서만 적용이 가능한건가요? 아니면 여러개의 독립변수를 고려하여 구할 수 있는건가요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
sonovan 댓글 1 좋아요 0 조회수 293

실전연습 작업형 1-3 문제 에러

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

마지막 부분 에러났는데,, 실제 강의에서도 에러이던데,, 이유가 무엇인가요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
lovelove567 댓글 1 좋아요 0 조회수 177

예시문제 작업형2 신버전 문의드립니다.

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요 예시문제 작업형2 신버전 풀어보았는데 평가값은 0.615 pred는 아래와 같이 나왔는데 맞게나온걸까요? 그리고 아래와 같이 풀어보았는데 혹시 아래와 같은 풀이에서 #원핫인코딩과 레이블인코딩을 넣을수있을까요? 넣으려면 어떤 문장으로 넣어야될까요? (오류가 뜨더라구요ㅠ) #아니면 굳이 인코딩 안하고 아래처럼 제출해도될까요? #데이터불러오기 import pandas as pd train = pd.read_csv("data/customer_train.csv") test = pd.read_csv("data/customer_test.csv") # 확인/전처리/분리/모델/평가/예측/저장 # roc_auc(pred=predict_proba) / 양성(1)값=남자/ 분류모델 #확인 # print(train.shape, test.shape) #print(train.head()) #print(test.head()) # print(train.info()) # print(test.info()) # print(train.isnull().sum()) # print(test.isnull().sum()) #전처리(결측값제거/문자제거/인코딩) ##결측값제거 train['환불금액'] = train['환불금액'].fillna(0) test['환불금액'] = test['환불금액'].fillna(0) ##문자제거 cols=train.select_dtypes(include='object').columns #문자만 cols train = train.drop(cols,axis=1) #문자제거 test = test.drop(cols,axis=1) ##인코딩 #분리 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split( train.drop('성별',axis=1), train['성별'], test_size=0.2, random_state=2022 ) #모델 from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier() model.fit(X_tr,y_tr) pred = model.predict_proba(X_val) #평가 from sklearn.metrics import roc_auc_score print(roc_auc_score(y_val, pred[:,1])) #예측 pred = model.predict_proba(test) submit = pd.DataFrame({ 'pred':pred[:,1] }) #저장 submit.to_csv('28381.csv', index=False) print(pd.read_csv('28381.csv'))

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
서수영 댓글 1 좋아요 0 조회수 177

자주 활용되는 판다스 예제 퀴즈 2번 질문 (오류발생)

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

선생님과 같이 한것 같은데, 원두 컬럼 내 결과값이 아래와 같은 이유가 뭘까요... 못찾겠습니다 이유를ㅠ 조언 부탁드립니다. 감사합니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
김태선 댓글 1 좋아요 0 조회수 157

문제 처음 시작할떄!!

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

시작할때 이부분은 실제 시험환경에서도 제가 직접 입력해야 하는 부분인가요??? 아니면 주어지는 부분인가요???

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
lovelove567 댓글 2 좋아요 0 조회수 203

기출 2회 작업형1

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

선생님! 2번 문제에서 결측치를 중앙값으로 바꾸기 전의 표편과 바꾼 후의 표편 차를 구하라는 문제에서 만약 결측치를 바꾸기 전 표편을 구하지 못한채로 결측치 처리를 해버렸다면 시험상황에서는 다시 원 데이터로 어떻게 돌아갈 수 있나요,,? (시험환경에서는 코랩처럼 '이전셀 실행' 기능을 쓸 수가 없는데)drop같은 함수를 써서 원래 데이터를 일부 삭제 시켰다가 실수가 생겨 다시 복구해야하는 상황에서도 어떻게 해야하는지 궁금합니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
박나현 댓글 2 좋아요 0 조회수 223

유형별 제출방법 문의

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

시험 회차가 증가함에 따라 제출 방법이 조금씩 달라진 것 같은데요. 유형1, 유형3의 경우, 코딩화면 제출버튼은 없어지고 별도 답안제출 화면에 정답만 입력하는게 맞는지요? 그렇다면 코딩 중간에 있는 print()문을 주석(삭제) 처리할 필요도 없는건지요? 유형2의 경우도 코딩 중간에 있는 print()문을 주석(삭제) 처리 필요 없는지요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
kplane 댓글 2 좋아요 0 조회수 236

섹션10- 예시문제 작업형2(신버전) 문의

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요 섹션10- 예시문제 작업형2(신버전) 아래 풀이에서 어떤것이 잘못됬는지 알 수있을까요ㅠ? # 출력을 원하실 경우 print() 함수 활용 # 예시) print(df.head()) # getcwd(), chdir() 등 작업 폴더 설정 불필요 # 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가 #데이터불러오기 import pandas as pd train = pd.read_csv("data/customer_train.csv") test = pd.read_csv("data/customer_test.csv") # 확전분모평예정 # roc_auc(pred=predict_proba) / 양성(1)값=남자/ 분류모델 #확인 # print(train.shape, test.shape) # print(train.head()) # print(test.head()) # print(train.info()) # print(test.info()) # print(train.isnull().sum()) # print(test.isnull().sum()) #전처리(결측값제거/문자제거/인코딩) #결측값제거 # print(train.isnull().sum()) train['환불금액'] = train['환불금액'].fillna(0) # print(train.isnull().sum()) test['환불금액'] = test['환불금액'].fillna(0) #문자제거 cols=train.select_dtypes(include='object').columns cols # print(train.info()) train = train.drop(cols,axis=1) # print(train.info()) test = test.drop(cols,axis=1) #cols = ['회원ID', '총구매액', '최대구매액', '환불금액', '방문일수', '방문당구매건수', '주말방문비율', '구매주기'] #target = train.pop('성별') #pop=성별을 target에 대입하고 나머지를 drop #인코딩 train = pd.get_dummies(train, columns=cols) test = pd.get_dummies(test, columns=cols) #분리 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split( train.drop('성별',axis=1), train['성별'], test_size=0.2, ramdom_state=2022 ) #모델 #pred=predict_proba from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier() model.fit(X_tr,y_tr) pred = model.predict_proba(X_val) print(pred) print(pred[:,1]) # #평가 from sklearn.metrics import roc_auc_scoer print( roc_auc_scoer(y_val, pred[;,1]) ) --실제,예측 # #예측 pred=model.predict_proba(test) pred submit = pd.DataFrame({ 'pred': pred[:,1] }) submit # #저장 submit.to_csv('result.csv', index=False) print(pd.read_csv('result.csv')) # 사용자 코딩 # 답안 제출 참고 # 아래 코드는 예시이며 변수명 등 개인별로 변경하여 활용 # pd.DataFrame변수.to_csv("result.csv", index=False)

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
댓글 2 좋아요 0 조회수 175

섹션10 예시문제 작업형 1번

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요. 섹션10 예시문제 작업형 1번 질문있습니다.캐글에서 하던대로 하다보니 식이 강의에서 알려주시는 것에 비해 짧아졌는데요. import pandas as pddf = pd.read _csv("data/mtcars.csv") from sklearn.preprocessing import MinMaxScalerscaler = MinMaxScaler()df['qsec'] = scaler.fit _transform(df[['qsec']])#print(df['qsec']) cond = df['qsec'] >0.5print(sum(cond)) 이렇게 해도 9가 나오는데, 이렇게 풀어도 괜찮나요?좋은 강의 항상 감사드립니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
rkgml5153 댓글 1 좋아요 0 조회수 164

인기 태그

인프런 TOP Writers

주간 인기글