묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터프레임에서 일정 조건의 셀값 변경하는 방법
안녕하세요. 작업형 1관련하여 질문있습니다. 나올것 같지는 않기는 한데, 혹시 몰라서요.지금까지는 fillna를 통해 결측값을 대치하는 명령어를 사용하였는데요. 예를 들어,'abc(카테고리변수)', 'price(연속형)' 두개의 변수가 있다고 할때, abc 변수의 'a'인 값의 price가 잘못기입하여 기존값(abc 변수의 'a'값에 해당하는 'price' 값)의 1.1배를 해야 한다고 하면, 어떻게 코드를 작성하면 좋을까요? replace를 하기에는 변경해야할 변수 값이 많아서 어떻게 해야할지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 8회 작업형2 질문
공지를 확인하였는데 궁금한 점이 있어 질문드립니다.기출에서 컬럼을 삭제하는 경우가 없다 하셨는데 혹시 기출 8회에서도 컬럼 삭제 없이 문제를 풀 수가 있나요?저는 아무리 해봐도 customerID 컬럼을 삭제하지 않으면 인코딩이 안 되어서요 ㅜㅜ 혹시 저는 원핫인코딩 하나로 밀고 나가고 있는데 공지는 레이블인코딩으로 진행하는 상황 기준인 걸까요..?감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
스케일링 방법
안녕하세요! 최근 기출에는 작업형1에서 스케일링 문제가 안 나오는 걸로 알고 있는데, 스케일링에 대해서도 알아야 할까요?.....
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
9회 작업형1 문제 이중포문으로 해결해도 되나요?
9회부터 작업형1이 갑자기 어려워진 것 같습니다. 기존에 알고 있던 걸로 풀리지 않아, 알고리즘 문제 풀듯이 2중포문을 사용해서 문제를 풀었습니다. 코랩에서는 바로 결과가 나오나, 구름에서 코드를 돌려보니 1분안에 결과가 안나오던데, 실제 시험장에서는 이렇게 문제를 풀어도 되는지 여쭤보고 싶습니다. 작업형1 2번 문제와 3번문제를 둘 다 이중포문으로 풀었습니다.2번 코드import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/9_1/crime.csv") # print(df) list(set(df['연도'])) # print(df.columns[2]) store = [] for i in range(0,len(df),2): rate = 0; name = '' for j in range(2,16): temp = df.iloc[i+1,j] / df.iloc[i,j] if temp > rate: rate = temp name = df.columns[j] store.append(name) print(store) cond_result = df['구분'] == '검거건수' df_result = df[cond_result].reset_index(drop = True) print(df_result) sum = 0 for i in range(7): sum = sum + df_result.loc[i,store[i]] print(sum) #77993번 코드import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/9_1/hr.csv") print(df) # print(df.shape) # print(df.isnull().sum()) # print(df.head()) a = df['만족도'].mean() # print(a) df['만족도'] = df['만족도'].fillna(a) df_group = df.groupby(['부서', '성과등급'])['근속연수'].mean().reset_index() print(df_group) cond1 = df['근속연수'].isnull() df_null = df[cond1].drop(['사원번호', '연봉', '교육참가횟수', '만족도'], axis = 1).sort_values(['부서', '성과등급']) print(df_null) for i in range (len(df_null)): for j in range (len(df_group)): if (df_null.iloc[i,0] == df_group.iloc[j,0]) & (df_null.iloc[i,1] == df_group.iloc[j,1]): df_null.iloc[i,2] = int(df_group.iloc[j,2]) break; # df['근속연수'] print(df_null) print(df) df['근속연수'] = df['근속연수'].fillna(df_null['근속연수']) df['연봉/근속연수'] = df['연봉'] / df['근속연수'] print(df.sort_values('연봉/근속연수',ascending = False)) #1 df['연봉/만족도'] = df['연봉'] / df['만족도'] print(df.sort_values('연봉/만족도',ascending = False)) #6 print(1+6)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
전처리 관련 문의
전처리 과정에서 꼭 ID 칼럼을 train과 test 둘다 제거해야하는건가요? 그대로 진행하면 안되는건지 여쭤보고 싶습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
[작업형2] 연습문제 섹션 1
인코딩하지 않고 분할로 바로 넘어간 이유를 설명해주세요.
-
해결됨파이썬 주식 매매 봇으로 주식시장 자동사냥하기
6.7 자동실행을 윈도우에서 구현
윈도우 환경에서 실습을 따라왔습니다.마지막 자동실행에서 리눅스 환경에서만 가능하다고 하니 순간 당황스러웠습니다.윈도우 스케쥴러로 대체하면 될 것 같긴 한데윈도우 환경을 위한 추가 설명도 가능할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
실행값?출력값 다름
왜 저는 앞에 np.float64가 붙을까요?그 이후로 예측하는데 에러가 나요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
test 예측 오류
왜 오류가 나는지어떤 오류인지 모르겠어요..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
유형3 분산분석 질문 값의 차이와 에러
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요유형3의 분산분석 예제 중, 이원분산분석에서 직접 코드를 쳐 분석을 진행했더니 아래와 같은 출력이 나오는데, 밑에 예시와는 값이 꽤나 다르게 나오는 부분이 있었습니다. 범주형 변수를 제대로 처리를 안 해서 그런 부분이다.라고 생각해서 C()를 통해 변수를 묶으니, 코랩에서 제대로 인식을 하지 못해 아래와 같은 에러가 발생해서 제대로 된 출력이 나오지 않는 상황입니다. 제 컴퓨터 문제일 수도 있겠지만... 이런 에러를 처리하는 해결방안이 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
수업 질문
안녕하세요풀이 확인 후에, 제가 다르게 생각했던 부분들은 안되는지 한번 더 질문드립니다 Section 16. 이상치, IQR'views' 컬럼의 1사분위수, 3사분위수 그리고 IQR을 계산하시오.이상치 조건에 맞는 데이터를 찾으시오. (이상치는 1사분위수 – (IQR 1.5)보다 작은 값과 3사분위수 + (IQR 1.5)보다 큰 값)이상치 데이터의 'views' 컬럼 합을 정수로 구하시오. q3 = df['views'].quantile(.75)q1 = df['views'].quantile(.25)IQR = q3 - q1line1 = q1 - 1.5 * IQRline2 = q3 + 1.5 * IQRcond=(df['views']<line1) & (df['views']>line2)print(int(df[cond]['views'].sum()))이렇게 하면 안되나요?ㅠ 2.Section 18. 데이터(행) 기준 평균값, 인덱싱index '2001' 데이터(행)에서 평균보다 큰 값의 개수를 구하시오.index '2003' 데이터(행)에서 평균보다 작은 값의 개수를 구하시오.두 개수를 더하시오.이 문제에서 풀이랑 같이df=df.Tm1 = df[2001].mean() 이렇게 했는데,---------------------------------------------------------------------------ValueError Traceback (most recent call last)/usr/local/lib/python3.12/dist-packages/pandas/core/indexes/range.py in get_loc(self, key)412 try:--> 413 return self._range.index(new_key)414 except ValueError as err:ValueError: 2001 is not in rangeThe above exception was the direct cause of the following exception:KeyError Traceback (most recent call last)2 frames/usr/local/lib/python3.12/dist-packages/pandas/core/indexes/range.py in get_loc(self, key)413 return self._range.index(new_key)414 except ValueError as err:--> 415 raise KeyError(key) from err416 if isinstance(key, Hashable):417 raise KeyError(key)KeyError: 2001이런 오류가 뜹니다인덱스 2001 할때 그냥 df[2001]이렇게 하는거 맞나요? Section 19. 결측치(뒤에 값으로 대체), 그룹합결측치를 바로 뒤에 있는 값으로 대체하시오. (바로 뒤의 값도 결측치일 경우, 뒤에 있는 데이터 중 가장 가까운 값으로 대체)'city'와 'f2' 컬럼을 기준으로 그룹합을 계산하시오.'views' 값이 세 번째로 큰 city 이름을 구하시오.에서 df = df.bfill() 라고 적혀있던데 풀이에서bfill 은 이전 값, ffill이 이후 값 아닌가요?그리고,# city와 f2기준 그룹합 계산df = df.groupby(['city','f2']).sum(numeric_only=True).reset_index()여기서 reset 다음에 한 이유가 무엇인가요?감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
섹션1-10 질문
1. Section 8. 시계열 데이터, 필터링, 데이터 개수 문제df['subscribed']=pd.to_datetime(df['subscribed'])df['y_m']=df['subscribed'].dt.to_period("m")# print(df.head())print(df.info())cond1=df['y_m']=='2024-02'cond2=df['f3']='gold'df=df[cond1&cond2]저는 이렇게 페리어드로 코딩 했는데 오류가 납니다ㅠ/tmp/ipython-input-3254161643.py:7: FutureWarning: 'm' is deprecated and will be removed in a future version, please use 'M' instead. df['y_m']=df['subscribed'].dt.to_period("m")---------------------------------------------------------------------------TypeError Traceback (most recent call last)/usr/local/lib/python3.12/dist-packages/pandas/core/ops/array_ops.py in na_logical_op(x, y, op) 361 # (xint or xbool) and (yint or bool)--> 362 result = op(x, y) 363 except TypeError:TypeError: ufunc 'bitwise_and' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''During handling of the above exception, another exception occurred:ValueError Traceback (most recent call last)6 framesops.pyx in pandas._libs.ops.scalar_binop()ValueError: Buffer dtype mismatch, expected 'Python object' but got 'bool'The above exception was the direct cause of the following exception:TypeError Traceback (most recent call last)/usr/local/lib/python3.12/dist-packages/pandas/core/ops/array_ops.py in na_logical_op(x, y, op) 383 ) as err: 384 typ = type(y).__name__--> 385 raise TypeError( 386 f"Cannot perform '{op.__name__}' with a dtyped [{x.dtype}] array " 387 f"and scalar of type [{typ}]"TypeError: Cannot perform 'and_' with a dtyped [bool] array and scalar of type [bool]이렇게 오류가 납니다2. 결측치가 삭제된 데이터를 사용하여 지역별(city) 평균을 계산하시오.이문제에서df=df.groupby('city').mean()이렇게 하면 오류가 나던데ㅠdf = df.groupby(['city']).mean(numeric_only=True) 이렇게 뒤에 numeric 까지 반드시 해야하나요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이원분산분석 범주형변수 C()처리
전에 다른 질문에서, 범주형 변수는 C()를 처리하라고 하셨었고, 범주형 변수중에서도 숫자로 되어있는 (문제의 물주기 처럼) 경우에만 C()를 필수로 해야한다고 하시고, 문제에서 범주형 변수다! 라고 주어지지 않으면 C()를 쓰지 말라고 하셨는데요... 어떻게 해야할까요..!!!!!!이번문제의 경우 아예 범주형변수라고 주어지지 않았으니 모든 변수에 C()를 빼고 할까요? 그럼 코랩의 답안과 달라지긴 하더라구요!
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 탬플릿 질문
from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier() model = rf.fit(X_tr, y_tr) pred_proba = model.precit_proba(X_val) from sklearn.metrics import roc_auc_score ra = roc_auc_score(y_val, pred) pred_test = model.predict_proba(test) result = pd.DateFrame({'pred':pred}) result.to_csv('result.csv', index=False) 안녕하세요 2유형 공부 중 질문드립니다.위 코드와 같이 test를 예측할때 fit 된 변수 'model'을 그대로 가져와서 model.predict_proba(test) 해도 되나요? 영상에서는 rf 변수를 사용해서 rf.predict_proba(test)로 한걸로 보여서요. 두개가 같은건가요..? 감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3번 대응 표본검정 정규성 만족 여부
3번 대응 표본 검정 자료가 정규분포를 가정한다는 문구를 보지 못하고, shapiro 검정부터 해보았는데, stats.shapiro(df['기존방법']-df['새로운방법']) ShapiroResult(statistic=np.float64(0.782923502611104), pvalue=np.float64(0.008985928943897126))이렇게 pvalue가 0.05보다 작아서, 귀무가설 기각-> 즉 정규분포를 만족하지 않게 나오길래 wilcoxon으로 풀었는데 다 풀고 나니 정규분포를 만족한다는 문구가 있더라구요... 혹시, 실제 문제에서도 이런 경우가 있을까요? 문제 기준으로 하면 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
8 회귀
8회귀문제에서회귀로 풀어라는? 말이 없어도 그냥 회귀로 푸는건가요?로지스틱회귀는 로지스틱회귀로 풀어라는 말이 나오는건가요? 그리고 예측주문량 구할때int(result[0])에서 0은 왜 하는거죠? 감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
9. 로지스틱회귀
안녕하세요수정된 모델로 b 데이터를 사용해 예측 후, b 데이터의 target과 비교해 정확도(Accuracy)를 계산하시오. 정확도는 0과 1 사이의 값이다.pred=(pred>0.5).astype(int)이 코딩의 뜻은 무엇인가요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 연습문제 섹션4 문제 결측치 처리 관련 질문드립니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요작업형2의 섹션4에서는 결측치가 있는 칼럼들이 많았어서 저는 우선 전처리로 결측치가 있는 행을 dropna(subset = ['칼럼'], axis=0)를 이용해서 결측치를 처리하는 방향으로 제거를 하였습니다. 이렇게 train과 test 데이터 모두 결측치를 제거하여, 양쪽 전부 데이터 shape에 변화를 준 상태로 학습과 예측을 진행하였습니다. 최종적으로 test의 행의 개수와 결측치 처리를 한 직후의 test 행의 개수가 일치하는 것까지 확인하였으나, 혹시 시험에서는 결측치 처리에서 발생한 기존 데이터 shape 변화로 실격처리가 될 수 있는 경우가 존재하는지 궁금합니다.밑에 예시 정답으로는 결측치를 전부 X로 처리하시고 진행하셔서 제가 데이터 전처리를 한 방법으로 실제 시험장에서 그대로 사용할 수 있을지 질문드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험장에서 Python 패키지 확인 코드 암기여부
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요# 코드 실행 시 제공 패키지 리스트 확인 가능import pkg_resources import pandas pandas.set_option('display.max_rows', None)OutputDataSet = pandas.DataFrame(sorted([(i.key, i.version) for i in pkg_resources.working_set])) print(OutputDataSet)# 파이썬 제공 패키지 수 : 63개# updated 2025.11.07, 제11회 빅데이터분석기사 실기 버전# Warning 메세지로 인한 실행 실패 안내는 실행 및 결과에 영향없음.(가이드 3p 참고)위와같은 실기체험환경 안내에 나와있는 패키지 확인 코드는 실제 시험장에서는 작성이 되어있나요? 아니면 외워가야하나요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
머신러닝 학습때 왜 train, target으로 바로 학습 시키면 안되나요?
제미나이에 물어보니 과적합 우려가 있다는데0.8 : 0.2로 나눠서 학습하나 그냥 1 다 학습하나test 데이터 자체는 별도이니 상관없는 것 아닌가요?성능 검증을 하지 않는다면 더 많은 데이터로 학습하는게 좋을 거 같은데 이유가 이해가 안됩니다ㅜ