묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Pandas 팬더스 데이터분석 기초 실습
dataframe append 불가능
Pandas v2.0.0+ 이상의 버전에서 DataFrame.append 메소드를 사용할 경우 아래의 에러가 발생합니다.'DataFrame' object has no attribute 'append'. Did you mean: '_append' 따라서 아래와 같이 데이터프레임의 row를 추가해야 합니다.import numpy as np import pandas as pd friend_list = { "name": ["John", "Jenny", "Nate"], "midterm": [95, 85, 85], "final": [90, 90, 70], } df = pd.DataFrame(friend_list) df2 = pd.DataFrame([["Ben", 90, 95]], columns=["name", "midterm", "final"]) new_df = pd.concat([df, df2]) print(new_df)
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
피벗테이블 NotImplementedError
제 생각에는 df_cafe 에는 숫자형식의 데이터만 있는게 아니라서 나는 에러라고 생각해서 pd.pivot_table(data=df_cafe, index="시군구명") , values=["경도","위도"]) 이렇게 했더니 일단 해결은 됐습니다. 그런데 이렇게 하드코딩? 으로 지정하는거 말고 숫자로된 데이터만 계산할 수 있도록 하는 방법은 없을까요?
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
pandas-profiling 설치 오류
pip install pandas-profiling 실행 시아래 오류가 발생합니다.어떻게 하면 될까요? (base) C:\Users\bi.yang>pip install pandas-profilingCollecting pandas-profiling Using cached pandas_profiling-3.6.6-py2.py3-none-any.whl (324 kB)Collecting ydata-profiling Using cached ydata_profiling-4.6.5-py2.py3-none-any.whl (357 kB)Requirement already satisfied: matplotlib<3.9,>=3.2 in c:\programdata\anaconda3\lib\site-packages (from ydata-profiling->pandas-profiling) (3.5.2)Collecting numba<0.59.0,>=0.56.0..............Installing collected packages: llvmlite, dacite, annotated-types, typeguard, pydantic, numba, imagehash, visions, phik, ydata-profiling, pandas-profiling Attempting uninstall: llvmlite Found existing installation: llvmlite 0.38.0ERROR: Cannot uninstall 'llvmlite'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
결측값 채우지관련해서
안녕하십니까? 결측값 채우기 중 최빈값 관련해서,,m = X_train['workclass'].mode()[0] 여기서 mode()과 mode()[0]의 차이는 무엇인지요? 즉 [0]의 쓰임이 무엇인지? 다른 중앙값, 평균 등은 이런게 없는데 왜 최빈값만 이런게 뒤에 붙는지요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
7회 기출문제 풀이
인프런 문제를 열심히 풀고 있습니다.7회 기출문제 풀이는 언제 볼수있을까요?
-
미해결파이썬 텍스트 분석 입문 - 데이터 수집부터 분석까지
jpype 설치관련
안녕하세요 아래 답글에 남겼었는데, 질문 몇가지가 있는데요,jpype 설치가 잘 진행이 되지 않는 것 같은데 댓글 한 번 확인 부탁드려요!그리고 jpype 를 설치하지 않고 Konply 만 설치해도 되나요 ???바쁘신데 감사합니다!
-
해결됨공공데이터로 파이썬 데이터 분석 시작하기
msno.matrix(df) 밸류에러
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) Cell In[46], line 2 1 # heatmap 으로 표현합니다. ----> 2 msno.matrix(df) File ~\anaconda3\Lib\site-packages\missingno\missingno.py:72, in matrix(df, filter, n, p, sort, figsize, width_ratios, color, fontsize, labels, sparkline, inline, freq, ax) 70 # Remove extraneous default visual elements. 71 ax0.set_aspect('auto') ---> 72 ax0.grid(b=False) 73 ax0.xaxis.tick_top() 74 ax0.xaxis.set_ticks_position('none') File ~\anaconda3\Lib\site-packages\matplotlib\axes\_base.py:3194, in _AxesBase.grid(self, visible, which, axis, **kwargs) 3192 _api.check_in_list(['x', 'y', 'both'], axis=axis) 3193 if axis in ['x', 'both']: -> 3194 self.xaxis.grid(visible, which=which, **kwargs) 3195 if axis in ['y', 'both']: 3196 self.yaxis.grid(visible, which=which, **kwargs) File ~\anaconda3\Lib\site-packages\matplotlib\axis.py:1660, in Axis.grid(self, visible, which, **kwargs) 1657 if which in ['major', 'both']: 1658 gridkw['gridOn'] = (not self._major_tick_kw['gridOn'] 1659 if visible is None else visible) -> 1660 self.set_tick_params(which='major', **gridkw) 1661 self.stale = True File ~\anaconda3\Lib\site-packages\matplotlib\axis.py:932, in Axis.set_tick_params(self, which, reset, **kwargs) 919 """ 920 Set appearance parameters for ticks, ticklabels, and gridlines. 921 (...) 929 gridlines. 930 """ 931 _api.check_in_list(['major', 'minor', 'both'], which=which) --> 932 kwtrans = self._translate_tick_params(kwargs) 934 # the kwargs are stored in self._major/minor_tick_kw so that any 935 # future new ticks will automatically get them 936 if reset: File ~\anaconda3\Lib\site-packages\matplotlib\axis.py:1076, in Axis._translate_tick_params(kw, reverse) 1074 for key in kw_: 1075 if key not in allowed_keys: -> 1076 raise ValueError( 1077 "keyword %s is not recognized; valid keywords are %s" 1078 % (key, allowed_keys)) 1079 kwtrans.update(kw_) 1080 return kwtrans ValueError: keyword grid_b is not recognized; valid keywords are ['size', 'width', 'color', 'tickdir', 'pad', 'labelsize', 'labelcolor', 'zorder', 'gridOn', 'tick1On', 'tick2On', 'label1On', 'label2On', 'length', 'direction', 'left', 'bottom', 'right', 'top', 'labelleft', 'labelbottom', 'labelright', 'labeltop', 'labelrotation', 'grid_agg_filter', 'grid_alpha', 'grid_animated', 'grid_antialiased', 'grid_clip_box', 'grid_clip_on', 'grid_clip_path', 'grid_color', 'grid_dash_capstyle', 'grid_dash_joinstyle', 'grid_dashes', 'grid_data', 'grid_drawstyle', 'grid_figure', 'grid_fillstyle', 'grid_gapcolor', 'grid_gid', 'grid_in_layout', 'grid_label', 'grid_linestyle', 'grid_linewidth', 'grid_marker', 'grid_markeredgecolor', 'grid_markeredgewidth', 'grid_markerfacecolor', 'grid_markerfacecoloralt', 'grid_markersize', 'grid_markevery', 'grid_mouseover', 'grid_path_effects', 'grid_picker', 'grid_pickradius', 'grid_rasterized', 'grid_sketch_params', 'grid_snap', 'grid_solid_capstyle', 'grid_solid_joinstyle', 'grid_transform', 'grid_url', 'grid_visible', 'grid_xdata', 'grid_ydata', 'grid_zorder', 'grid_aa', 'grid_c', 'grid_ds', 'grid_ls', 'grid_lw', 'grid_mec', 'grid_mew', 'grid_mfc', 'grid_mfcalt', 'grid_ms'] df도 제대로 정의 했고missingno도 잘 깔린 것 같은데 왜이러는건가요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
라이브러리 및 데이터 불러오기 그리고 EDA 수업내용중에
라이브러리 및 데이터 불러오기 그리고 EDA 수업내용중에15분 36초 경에 보면 남성과 여성의 수를 확인하는데, 그때 남성의 수를 cond_male이라는 변수에 담았기 때문에 len(cond_male) 이렇게만 하면 안되나요? 왜 train[cond_male]이렇게 해주어야 하는지가 궁금합니다. 보통 데이터 프레임 안에서 컬럼을 선택할때 데이터프레임명['컬럼명'] 이런식으로 할때나 사용하는데, 변수로 지정후에도 왜 train으로 감싸나요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시계열데이터에서 dt관련
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요? 시계열 자료 강의에서 년월일 등을 추출하는 강의가 있는데요.. 여기서 dt가 갑자기 나와서요.. 이것도 그냥 함수인가요.. 아님 뭐 datetime의 약자 뭐 그런건지요? dt관련해서 이거 뭐하는 함수인지 궁긍합니다.
-
해결됨공공데이터로 파이썬 데이터 분석 시작하기
주피터노트북 ui가 이상해요
익스텐션 설치 후에 주피터 노트북이 안열려서아나콘타랑 주피터 노트북 재설치했는데 ui가 뭔가 예전이랑 미묘하게 달라졌네요.. 어떻게하면 원래대로 되돌릴 수 있을까요? ▲ 원래 ui ▲ 현재 이상하게 바뀐 ui
-
미해결파이썬 텍스트 분석 입문 - 데이터 수집부터 분석까지
Konlpy 설치
Konlpy 설치 페이지에서 jpype 설치 링크가 Not Found가 나오는데. 어디에서 설치파일을 다운받을 수 있을까요..?https://konlpy-ko.readthedocs.io/ko/v0.4.3/install/ 이 링크가 막혀있습니다.다운이 되어야 강의를 수강 할 수 있을 것 같은데 확인부탁드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 6회 작업형 1 질문
3. 연도별로 총 범죄 건수(범죄유형의 총합)의 월평균 값을 구한 후 그 값이 가장 큰 연도를 찾아, 해당 연도의 총 범죄 건수의 월평균 값을 출력하시오. (반올림하여 정수로 출력)문제에서 df['총범죄건수'] = df.iloc[:, 1:7].sum(axis=1)iloc 를 활용해서 열의 합을 구할 때는 sum 괄호 안에 axis=1 이라고 작성을 하는데 result = df.groupby('연도')['총범죄건수'].sum(axis=0)/12연도별로 그룹으로 묶어 행의 합을 구할 때는 sum 괄호 안에 axis=0 이라고 넣으면 오류가 나더라구요! iloc 를 활용해서 합을 구할 때는 sum 괄호 안에 axis 를 작성해도 되지만, groupby 를 활용해서 합을 구할 때는 sum 괄호 안에 axis 를 작성하면 안된다고 외워야 하는 건가요??
-
미해결파이썬 텍스트 분석 입문 - 데이터 수집부터 분석까지
Konlpy 설치 페이지에서 jpype 설치 링크
Konlpy 설치 페이지에서 jpype 설치 링크가 Not Found가 나오는데. 어디에서 설치파일을 다운받을 수 있을까요..?https://konlpy-ko.readthedocs.io/ko/v0.4.3/install/ 이 링크가 막혀있습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5회 기출 질문
5회 기출 작업형 2에서3회 기출 작업형 2에서 강사님께서 풀이하신 방식으로train, test 데이터를 수치형, 범주형으로 나누고 수치형은 robustscaler, 범주형은 dummies를 활용한 후 concat으로 합치려고 했는데요!아래처럼 코딩을 했는데 사진처럼 오류가 발생합니다ㅠㅠ혹시 기출 3회 작업형 2는 회귀모형이 아니기 때문에,기출 3회 작업형 2 풀이 방식을 기출 5회 작업형 2에 활용하지 못하는건가요? import pandas as pdtrain = pd.read_csv("train.csv")test = pd.read_csv("test.csv") n_train = train.select_dtypes(exclude ='object').copyc_train = train.select_dtypes(include ='object').copyn_test = test.select_dtypes(exclude = 'object').copyc_test = test.select_dtypes(include = 'object').copy from sklearn.preprocessing import RobustScalercols = ['year', 'mileage', 'tax', 'mpg', 'engineSize']scaler = RobustScaler()n_train[cols] = scaler.fit_transform(n_train[cols])n_test[cols] = scaler.transform(n_test[cols]) c_train = pd.get_dummies(c_train)c_test = pd.get_dummies(c_test) train = pd.concat([n_train, c_train], axis=1)test = pd.concat([n_test, c_test], axis=1) print(train)print(test)
-
미해결평생 써먹는 데이터 기반 투자법 with 파이썬 퀀트 투자
수익률이 맞는지 코드 문의 드립니다.
안녕하세요 수강을 하여 만족스러운 강의를 들었습니다. 개인적으로 궁금한 것을 구현했는데 소스가 맞는지 검증 부탁드려도 될까 합니다. 생각해 본 부분을 짜보긴 했지만 수익률이 잘못 나온 듯하여 오류를 아무리 검증해보려고해도 알 수가 없어서 문의드립니다. 추가로 다른 분에게도 도움이 되길 바라고, 또한 제 코드에서도 최적화 할 부분이 보일 듯하니 조언 부탁드립니다. 강의에서 나온 부분이 많기에 주석과 맥락등은 일부 제거 했습니다. [조건] 종목 TQQQ, SCHDadj_close 값TQQQ RSI<30 : TQQQ 3% 비중 증가 , SCHD 3%비중 감소리밸런싱 5:5 매 반기마다 실행 !apt-get update -qq !pip install yfinance import yfinance as yf import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.font_manager as fm import numpy as np # 수정종가 def getAdjCloseData(ticker, end=None): return yf.download(ticker, period='12y')['Adj Close'] # RSI 데이터 def getRSIData(closeDataSet, periods=""): average_periods = 14 # 이평 초기에 값은 나오지 않기 때문에 더 계산하고 자름 delta = closeDataSet.diff() # closeDataSet - closeDataSet.shift(1) # 변화량 if periods != "": delta = delta.iloc[(periods + average_periods) * -1:] AU = pd.DataFrame(np.where(delta>=0, delta, 0), delta.index, delta.columns) AD = pd.DataFrame(np.where(delta<0, delta.abs(), 0), delta.index, delta.columns) # SMA AU_MA = getSimpleMovingAverage(AU, average_periods) AD_MA = getSimpleMovingAverage(AD, average_periods) rsi = AU_MA / (AU_MA + AD_MA) * 100 # RSI Signal rsiSignal = getSimpleMovingAverage(rsi, 9) if periods != "": rsi = rsi[average_periods:] rsiSignal = rsiSignal[average_periods:] return rsi, rsiSignal # RSI 값에 따른 리밸런싱 날짜 def getRSIRebalancingDate(closeDataSet, RSI = 30): rsi, rsiSignal = getRSIData(closeDataSet) data = rsi.copy() data = pd.DataFrame(data) dataIndex = data[data.iloc[:, 0] <= RSI].index return dataIndex def getWeightByRSI(closeDataSet): RSIrebalancingDate = getRSIRebalancingDate(closeDataSet, 30) # RSI가 30이하일 때 리밸런싱 날짜 rebalancingDate = getRebalancingDate(closeDataSet, 'half') # 동일비중 리밸런싱 할 날짜 rebal = pd.DataFrame([[1/len(closeDataSet.columns)] * len(closeDataSet.columns)] * len(rebalancingDate), index=rebalancingDate, columns=closeDataSet.columns) rebal['period'] = 1 # 기간에 따른 리밸런싱 rsiRebal = pd.DataFrame([[1/len(closeDataSet.columns)] * len(closeDataSet.columns)] * len(RSIrebalancingDate), index=RSIrebalancingDate, columns=closeDataSet.columns) rsiRebal['period'] = 0 # RSI에 따른 리밸런싱 weightDf = pd.concat([rebal, rsiRebal], axis=0) weightDf = weightDf.sort_index() # 리밸런싱 날짜 별 for i in range(1, len(weightDf)): if weightDf.iloc[i]['period'] == 1: # 기간에 따른 리밸런싱 weightDf.iloc[i, weightDf.columns.get_loc("TQQQ")] = weightDf.iloc[0, weightDf.columns.get_loc("TQQQ")] weightDf.iloc[i, weightDf.columns.get_loc("SCHD")] = weightDf.iloc[0, weightDf.columns.get_loc("SCHD")] else: # RSI에 따른 리밸런싱 weightDf.iloc[i, weightDf.columns.get_loc("TQQQ")] = weightDf.iloc[i-1, weightDf.columns.get_loc("TQQQ")] * 1.03 weightDf.iloc[i, weightDf.columns.get_loc("SCHD")] = weightDf.iloc[i-1, weightDf.columns.get_loc("SCHD")] * 0.97 return weightDf def getRSIPortfolioResult(closeDataSet): weight = getWeightByRSI(closeDataSet) weightDf = pd.DataFrame(weight) rebalancingDate = weightDf.index portfolio = pd.DataFrame() # 빈 데이터 프레임 생성 totalAsset = 1 # 총 자산, 초기값 1 start = rebalancingDate[0] # 리밸런싱 날짜, 초기값 첫 투자일 for end in rebalancingDate[1:]: weight = weightDf.loc[start] # 당월 리밸런싱 비율 weight = weight.drop('period') priceData = closeDataSet.loc[start:end] # 당월 가격 데이터 cumReturn = getCumulativeReturn(priceData) # 당월 누적 수익률 weightedCumReturn = weight * cumReturn # 당월 리밸런싱 비율이 반영된 누적 수 netCumReturn = totalAsset * weightedCumReturn # 전월 투자 결과 반영 (이전 블록의 누적 수익을 포함시킴) start = end # start 갱신 totalAsset = netCumReturn.iloc[-1].sum() # 총 자산 갱신 portfolio = pd.concat([portfolio, netCumReturn]) # 매월 데이터 추가 portfolio = portfolio.loc[~portfolio.index.duplicated(keep='last')] # 중복 데이터 제거 portfolioCumulativeReturn = portfolio.sum(axis=1) # 포트폴리오 누적 수익률 portfolioDayReturn = (portfolioCumulativeReturn / portfolioCumulativeReturn.shift(1)).fillna(1) # 포트폴리오 일간 수익률 return portfolioDayReturn, portfolioCumulativeReturn closeDataSet = pd.DataFrame() TQQQ = getAdjCloseData("TQQQ") # TQQQ SCHD = getAdjCloseData("SCHD") # SCHD closeDataSet = pd.concat([TQQQ , SCHD ], axis=1) closeDataSet.columns = asset closeDataSet.dropna(inplace=True) _, rsiCumReturn = getRSIPortfolioResult(closeDataSet) rsiMomentumCAGR, rsiMomentumDD, rsiMomentumMDD = getEvaluation(rsiCumReturn)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4회 기출 작업형 2 질문 cross_val_score 질문 (2)
총 3가지 질문이 있습니다! 교차검증에서 cross_val_score 을 활용하면from sklearn.metrics import f1_score 을 활용하지 않아도 되는 건가요?(scoring='f1_macro' 라고 되어 있어서 train_test_split 과 f1_score 평가를 동시에 진행하는 방식 같은데..맞나요..?) 문제에서 평가 : Macro f1_score 라고 되어 있는데,강사님처럼 교차검증에서 cross_val_score을 활용해도 되고, train_test_split +from sklearn.metrics import f1_score 활용해도 되는건가요? 이전 강의에서f1_score 평가 설명시from sklearn.metrics import f1_scoref1 = f1_score(y_true_str, y_pred, average = 'macro')라고 알려 주셨는데, metrics 를 불러와서 f1_score을 평가하는 것은 train_test_split 을 통해 X_tr, X_val, y_tr, y_val 로 분리한 경우에만 사용할 수 있는 거죠??(2번 질문과 이어짐) ps. 친절한 강의, 답변 감사합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4회 기출 작업형 2번 cross_val_score 질문
cross_val_score 풀이에서 from sklearn.model_selection import cross_val_scorescores = cross_val_score(rf, train, target, scoring='f1_macro', cv=5)라고 써주셨는데요. from sklearn.model_selection import cross_val_scoreprint(help(cross_val_score))했더니 사진처럼 cross_val_score 활용방법이 안 뜨고 오류만 뜹니다ㅠㅠ scores = cross_val_score(rf, train, target, scoring='f1_macro', cv=5)을 전부 외우고 있어야 하는 건가요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험환경 체험링크 클릭시 오류
섹션 6. 시험환경 체험링크를 클릭하면연결이 비공개로 설정되어 있지 않습니다.공격자가 dataq.goorm.io에서 정보(예: 비밀번호, 메시지, 신용카드 등)를 도용하려고 시도 중일 수 있습니다. 자세히 알아보기NET::ERR_CERT_DATE_INVALID 라고 뜨는데 어떻게 해야 하는건가요?ㅠㅠ
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
처음 requirements.txt 폴더, 문의 드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! (스크린샷이 있으면 더더욱 좋습니다)- 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 말그대로 아나콘다3 깔려있는 폴더에 파일을 넣었는데.계속 에러가 납니다. 어떻게 해야할까요 아나콘다 폴더가아닌 다른 폴더에 넣어야할까요? vs코드로 파이썬 공부하다가 이걸로하려니 어지럽네요ㅠㅠ
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
로우데이터 깨짐
항상 질좋은강의 너무감사드립니다. 강사님 다름이아니라 데이터가 모두 깨져있는데 강의자료좀 받아도될까요...