묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
데이터프레임 칼럼명 문의 드립니다.
데이터 프레임 칼럼을 뽑았더니 이렇게 나와요 !! 칼럼에 대한 한글 정보도 알고 싶은데 ㅜㅜ 깃에서 보이는 칼럼명이랑 좀 많이 달라서요!!! 초보다보니 변경된 부분이 좀 있어서 헷갈리는게 많은 것 같아요 ㅜㅜ
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
금융데이터 수집의 모든것
안녕하세요, https://github.com/FinanceData/FinanceDataReader?tab=readme-ov-file 수업듣고 있는데, tutorial 부분에 6개 종류가 더있는 것 같은데 실제 깃에는 2개밖에 없어서요 혹시 2024년 기준으로 업데이트 된 걸까요?? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
녹화시점과 현재시점 컬럼명이 변경이 많이 되었을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결5분빨리 퇴근하자! 파이썬 데이터 분석, 시각화, 웹 대시보드 제작하기
filter, rename axis 기본값
filter의 경우에는 axis 기본값이 1이 설명대로 맞는거 같은데,rename 메서드 설명에도 axis 기본값이 1로 작성되어 있습니다.하지만 실제로 수행해보니 rename의 경우에는 axis의 기본값이 0인것 같은데 제가 잘못이해한걸까요?
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기 - 섹션1 [2/2]
데이터 전처리 과정에서 이해되지 않는 부분이 있습니다.import pandas as pdimport FinanceDataReader as fdrdf_krx = fdr.StockListing('KRX') df_krx 로 데이터를 확인했습니다.ㄴ일부 컬럼 (ex.Dept)에 결측치가 있습니다. <- 값이 비어있습니다. Nan 값으로 채워진 것은 아닙니다.ㄴ이 때 info() 메소드와 df_krx.isnull()로 확인해보면 null값이 없는 것으로 나오고 isnull() 또한 모두 false가 나오는데 원인을 모르겠습니다. ㄴ이후 to_csv 메소드를 사용하여 파일을 저장한 후 저장한 파일을 읽어왔을 때는 해당 값들이 NaN 값으로 바뀌어 있는데요. 원인이 무엇일까요?
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
Mac 환경에서 nbextensions 활성화 하는 방법
맥북 M1 pro 입니다.저는 다음과 같은 방법으로 nbextensions 활성화가 가능했었습니다. conda update --all conda install -c anaconda notebook conda install -c conda-forge jupyter_contrib_nbextensions 터미널에서 위 3개를 순서대로 실행 후jupyter contrib nbextension install --user여기까지 실행하시고 Anaconda Navigator 를 켜시고 jupyter notebook 을 확인해보시면 버전이 6.5.7 로 바뀌어있을겁니다. 근데 실행하면 mac command tool 이 없니 뭐니 에러가 발생합니다.. 여기서 우측상단 설정 아이콘을 클릭하셔서 Update application 을 한 번 실행해주시고 업데이트 완료 후 다시 jupyter notebook 을 실행 하시면 nbextensions 가 잘 나옵니다!
-
해결됨파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
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()) 부분이 정상적으로 처리가 되고 있습니다. 원인과 해결 방법을 알려 주시면 감사하겠습니다.
-
미해결5분빨리 퇴근하자! 파이썬 데이터 분석, 시각화, 웹 대시보드 제작하기
학습 데이터 다운로드 경로 문의드립니다
안녕하세요수강 신청하여 수업 준비하고 있습니다 강의에서 보여주고 있는 데이터 셋은 어디에서 다운로드 받을 수 있는지 문의 드립니다 감사합니다
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
5.1 제약 데이터 수집 오류 해결
안녕하세요, 섹션 10의 [5/6] 강의 실습을 진행하는데 result의 column이 다른 경우가 있어서 후에 concat을 하는 과정에 에러가 발생합니다. 이런 경우 어떻게 해결할 수 있나요?
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
Table of contents 문의드립니다
안녕하세요, table of contents 정상적으로 설정했는데.ipynb에서 table of contents 버튼을 누르면 아래 사진처럼 목록이 정상적으로 보이지 않습니다.혹시 해결법 아시나요? 감사합니다!
-
미해결[개념부터 실습까지] 추천 시스템 입문편
강의자료 requirements.txt 파일 위치?
구글 코랩이 아니라 개인 환경에서 진행하려고 합니다.필요한 패키지정보가 있는 requirements.txt 파일이 혹시 어디에 있을까요?
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
concat을 통한 데이터프레임 합치기
# result를 list로 만들고 concat을 통해 DataFrame으로 만듭니다.# concat으로 데이터프레임을 합쳐줄때는 리스트 형태로 각 데이터프레임을 넣어주어야 합니다.pd.concat(result.tolist()) --------------------------------------------------------InvalidIndexError: Reindexing only valid with uniquely valued Index objectsdf_item = pd.concat(item_info, ignore_index=True)도 해보았고, 중복값도 없다고 나오는데 계속 이 부분에서 동일한 에러가 뜹니다.. 어떻게 해결해야 할까요? 이 앞부분까지는 모두 정상출력되었습니다!
-
미해결캐글 설문조사로 데이터 분석 입문하기
hue를 사용할 때
hue를 사용할 때 나타나는 Q2 색상 구분표의 위치는 변경할 수 없나요?
-
미해결캐글 설문조사로 데이터 분석 입문하기
q1_cols를 작성하는 부분에서 궁금한 점이 있습니다.
q1_cols = answer["Q1"].value_counts().sort_index().index.tolist()def show_countplot_by_qno(qno, fsize=(10, 6), order=None): if not order: order = answer[qno].value_counts().index.tolist() plt.figure(figsize=fsize) sns.countplot(data=answer, y=qno, order=order,palette="Blues_r" ).set_title(question[qno]) show_countplot_by_qno("Q1", order=q1_cols)not order 일 때는 tolist() 안해도 출력이 되는데왜 order를 변수로 넣을 때는 tolist() 안하면 에러가 발생하는지 궁금합니다.tolist() 붙여봐도 달라진게 없는것 같은데 어떤 방식인지 모르겠습니다.
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
Reindexing only valid with uniquely valued Index objects 오류 질문입니다.
import timeimport pandas as pddef get_item_info(item_code): item_url = f'https://finance.naver.com/item/main.naver?code={item_code}' tables = pd.read_html(item_url, encoding='cp949') # if len(tables) == 13: # 코넥스를 거르기 위해 추가함 # continue item_info = [] # 빈 리스트 생성 finance_info = tables[3].iloc[:,[0,-2]] finance_info.columns = [0,1] # 합치기 전 칼럼명 일치시켜주기 item_info.append(finance_info) for t in tables: if t.shape[1] == 2: item_info.append(t) df_item = pd.concat(item_info) df_item = df_item.set_index(0).T time.sleep(0.2) # 과부하 막기 위한 지연 조회, 최소 0.1 이상. return df_itemimport numpy as npimport seaborn as snsimport matplotlib.pyplot as plt # 한글폰트 위함import datetimeplt.style.use("seaborn-v0_8-talk")font_family = "Malgun Gothic"plt.rc("font", family = font_family)plt.rc("axes", unicode_minus=False)url = 'https://finance.naver.com/sise/sise_group_detail.naver?type=upjong&no=282'table = pd.read_html(url, encoding='cp949')raw = table[2]raw = raw.dropna(how='all').dropna(axis=1, how='all') #추가해서 칼럼도 모두 결측치시 삭제.today = datetime.datetime.today()today = today.strftime('%y%m%d')raw['종목명전처리'] = raw['종목명'].str.replace('*','', regex=True) # 문자치환raw['종목명전처리'] = raw['종목명전처리'].str.strip() # 앞뒤 공백 제거import FinanceDataReader as fdrdf_krx = fdr.StockListing('KRX')# print(df_krx[['Code','Name']])df_item_code_name = df_krx[['Code','Name']]# 위의 종목명_전처리 칼럼과 Name 칼럼을 연결지어서 코드 잡아준다.df_item_code_name.columns = ['종목코드', '종목명전처리']raw = raw.merge(df_item_code_name) # 강의에서 df에 해당함# progress_apply는 map의 사용방법을 되짚어보면서 봐라. 일괄적으로 함수 적용시 사용.# 진행사항을 보려면 progress_apply을 사용하면 된다.from tqdm.auto import tqdmtqdm.pandas()result = raw['종목코드'].progress_apply(get_item_info)# result로 받아서 데이터프레임 형식으로 concat 해줘야해서 tolist() 사용함df_item_info = pd.concat(result.tolist())# print(df_item_info['종목코드']) # 출력해보면 종목코드가 없다. 그래서 넣기# df_item_info['종목코드'] = raw['종목코드'] # 아래의 reset_index를 위해 비활성화함# print(df_item_info['종목코드'])# 위에서 index값이 1로 모두 같아 종목코드가 모두 동일 하므로 아래처럼 인덱스 다시 적용df_item_info = df_item_info.reset_index()df_item_info['종목코드'] = raw['종목코드']# print(df_item_info['종목코드'])# 위와 같이 작업 후 index라는 칼럼을 삭제해 준다.del df_item_info['index']# print(raw.shape)df_info = raw.merge(df_item_info) # 따로 지정 안해줘도 종목코드가 같기에 합쳐진다.# 파일명 만들기file_name_1 = url.split('=')[1].replace('&','_')file_name_2 = url.split('=')[2]file_name = f'{file_name_1}_{file_name_2}.csv'# 저장하기df_info.to_csv(file_name, index=False, encoding='cp949') 위와 같이 코드를 작성하고 실행 했는데요. 제목과 같은 오류가 발생 했습니다. 원인을 찾아 본 결과.코넥스 종목이 포함되어 있어서 칼럼명이 맞지 않아 발생하는 것으로 보입니다. 위의 이미지와 같이 코넥스 종목은 코스닥, 코스피 종목 처럼 table 개수 13개 보다 적게 나오므로 if문으로 table개수가 13개 이하이면 건너띄어 데이터를 받게 하면 오류가 발생하지 않을 것 같은데요. if 문을 함수 어느 위치에 넣으면 좋을지 모르겠어서 질문 드립니다. 어느 위치에 if문을 넣어서 해결하면 좋을까요?
-
미해결5분빨리 퇴근하자! 파이썬 데이터 분석, 시각화, 웹 대시보드 제작하기
button과 checkbox 조건문과 함수
버튼과 체크박스 모두 조건문을 사용할 때는 바로 아래에 텍스트가 출력되는데, 함수를 사용하면 대시보드 맨 위에 텍스트가 호출되는 것은 왜 그런건가요?(맨 위에 텍스트가 호출되어 출력된 부분이 전부 다 한 칸 씩 밀리게 됨)
-
미해결5분빨리 퇴근하자! 파이썬 데이터 분석, 시각화, 웹 대시보드 제작하기
annot 수치 표현
age_bin_list = np.arange(10, 80, 10) df['age_bin'] = pd.cut(df['age'], bins = age_bin_list) pivot_df = df.pivot_table( index = 'age_bin', columns = 'region', values = 'charges', aggfunc = 'median' # 각 구간에 해당하는 값을 중간값을 사용하겠다. ) pivot_df # 각각의 값들에 대해 크기를 가늠할 수 있게끔 시각화(주로 색상)하는 방법 # 2D 형식으로 준비된 데이터를 Seaborn heatmap으로 시각화 # annot 인자를 통해 각 셀의 값 표현 가능 fig, ax = plt.subplots() sns.heatmap(pivot_df, ax = ax, annot = True)코드 똑같이 따라했는데 왜 저는 표에 수치가 다 표현이 안되는 건가요?
-
미해결5분빨리 퇴근하자! 파이썬 데이터 분석, 시각화, 웹 대시보드 제작하기
groupby 경고 질문
groupby를 사용하면 에러는 아니고 경고가 뜹니다. FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.chatGPT:이 경고는 Pandas의 value_counts() 메서드를 사용할 때 발생하는 것으로 보입니다. 이 경고는 현재 버전의 Pandas에서는 observed 매개변수의 기본값이 False이지만, 향후 버전에서는 True로 변경될 것이라는 것을 알려주는 것입니다. 즉, 향후에는 observed=False를 명시적으로 지정하지 않으면 경고가 표시될 것입니다.이러한 경고를 피하려면 value_counts()를 호출할 때 observed=False를 명시적으로 전달하면 됩니다. 예를 들어:import pandas as pd # 예제 데이터프레임 생성 df = pd.DataFrame({'Category': ['A', 'B', 'A', 'C', 'B', 'A']}) # value_counts() 호출 시 observed 매개변수 명시 counts = df['Category'].value_counts(observed=False) print(counts)이렇게 하면 경고가 발생하지 않습니다. 하지만 향후 Pandas 버전에서는 이러한 변경이 기본 동작이 되므로 observed 매개변수를 사용하여 코드를 업데이트하는 것이 좋습니다.-> 근데 이게 무슨 말인지 모르겠습니다! 뭐... 대충 업데이트 할 건데, 오류가 생길 수 있으니 미리 대비를 해라~ 이런 거 같은데 정확히 무슨 뜻인지 모르겠습니다!
-
미해결5분빨리 퇴근하자! 파이썬 데이터 분석, 시각화, 웹 대시보드 제작하기
print()
파이썬에서는 print() 구문이 굉장히 중요하다고 들었는데, 주피터랩에서는 print 없이 df만 써도 표가 나오는 이유는 왜인가요? print(df)를 했을 때는 표가 아니라 글로 나오네요.! 차이가 궁금해서 질문 남깁니다.
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
데이터 비교시 데이터 불일치
오래전에 강의듣다 포기하고 다시 시작하는 중입니다.많은도움 감사합니다. 삼성전자 주식데이터와 금리와의 비교데이터를 만들다 해결이 되지 않아 질문 드립니다.삼성전자stock_code= fdr.DataReader(stock_code, stock_start_data, stock_end_data)stock_code.tail(1) 금리pd.read_csv("한국은행 기준금리 및 여수신금리_23054821.csv", encoding="cp949")이걸합치 날짜가 아닌 3439로 출력이 됩니다. 두게의 데이터를 합쳐 관계를 분석하고 싶은데 3439으로 출력이되면서 그래프가 두게로 표시가됩니다날짜로 변경하여 그래프가 출력되도록 하고싶은데 방법을 모르겠습니다. 만들고 싶은 그래프(아래)