묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기 - 섹션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 값으로 바뀌어 있는데요. 원인이 무엇일까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
None tpye 에러가 발생해서 if문을 여러번 작성했는데 줄이는 방법이 있나요?
# warning 어쩌구 뜨면 쓰는건데 굳이 안써도 됨 import urllib3 urllib3.disable_warnings() # text None Type 에러 일 시 header를 추가해준다. # SSLdError 발생 시 verify옵션 추가해준다. header = { 'User-Agent' : 'Mozilla/5.0', 'Referer' : 'https://www.riss.kr/search/Search.do?isDetailSearch=N&searchGubun=true&viewYn=OP&queryText=&strQuery=%ED%8C%A8%EC%85%98+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5&exQuery=&exQueryText=&order=%2FDESC&onHanja=false&strSort=RANK&p_year1=&p_year2=&iStartCount=0&orderBy=&mat_type=&mat_subtype=&fulltext_kind=&t_gubun=&learning_type=&ccl_code=&inside_outside=&fric_yn=&db_type=&image_yn=&gubun=&kdc=&ttsUseYn=&l_sub_code=&fsearchMethod=&sflag=1&isFDetailSearch=N&pageNumber=1&resultKeyword=%ED%8C%A8%EC%85%98+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5&fsearchSort=&fsearchOrder=&limiterList=&limiterListText=&facetList=&facetListText=&fsearchDB=&icate=re_a_kor&colName=re_a_kor&pageScale=100&isTab=Y®nm=&dorg_storage=&language=&language_code=&clickKeyword=&relationKeyword=&query=%ED%8C%A8%EC%85%98+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5' } for article in articles: title = article.select_one(".title > a").text link = 'https://www.riss.kr' + article.select_one(".title > a").attrs['href'] # 상세 페이지로 요청 response = requests.get(link, headers=header, verify=False) html = response.text soup = BeautifulSoup(html, 'html.parser') # 2. 순서를 기준으로 찾기 if soup.find('span', string='발행기관'): press = soup.find('span', string='발행기관').find_next_sibling().text # find_next_sibling 옆에 있는 명령어를 찾아라 라는 명령문 else: press = [] if soup.find('span', string='발행연도'): year = soup.find('span', string='발행연도').find_next_sibling().text else: year = [] if soup.find('span', string='주제어'): keywords = soup.find('span', string='주제어').find_next_sibling().text.split(';' '') keywords_result = [] for keyword_for in keywords: keywords_result.append(keyword_for.strip()) else: keywords = [] print(title, link, press, year, keywords_result) # result = [] # for keyword in keywords: # result.append(keyword.strip())
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
lt, rt 관련
안녕하세요 선생님, 수업 잘 듣고있습니다 ㅎㅎ다름이 아니라, 섹션 3의 5.수들의 합 문제에서 궁금한 점이 있습니다import syssys.stdin = open("input.txt", 'r')n, m=map(int, input().split())a=list(map(int, input().split()))lt=0rt=1tot=a[0]cnt=0while True: if tot<m: if rt<n: tot+=a[rt] rt+=1 else: break elif tot==m: cnt+=1 tot-=a[lt] lt+=1 else: tot-=a[lt] lt+=1print(cnt) 이 코드에서, 여기서 만약 rt가 맨끝까지 가서 n에갔지만 / lt는 n 이전까지도 못왔다면(예를 들면 lt는 3인데 rt는 n인 경우) 이건 논리에 어긋나지 않나 궁금해서 질문드렷습니다. 항상 좋은강의 감사합니다.
-
미해결실시간 트렌드 홈페이지 개발(파이썬 크롤링 + Flask)
강의 교육자료 변경됨?
크롤링한 데이터 html에 보여주기 부분에서 다음 사이트에 있는 인기 순위를 가져올려고 했는데 사이트 업그레이드?때문인가 인기순위가 안보여요. 어떻게 하면 좋을까요?
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
사전형 데이터 타입 vs JSON 데이터 타입
JSON 데이터와 파이썬의 사전형 타입에 대해서 알고있는것도 좋을거 같아요!밑에는 Chat GPT쪽에서 물어본 결과입니다. 참고하세요 🙂 파이썬 사전형 데이터 (Dictionary) • 내부 구성: 키-값 쌍으로 이루어져 있어. 예를 들어 { "name": "Alice", "age": 25 } 같은 식이야.• 사용 방법: 파이썬 내부에서 데이터를 쉽게 다루기 위해 만들어졌어.• 기능: 추가, 삭제, 수정 등의 다양한 기능을 가지고 있어. 예를 들어, my_dict["name"]으로 “Alice”를 불러올 수 있어. JSON 데이터 (JavaScript Object Notation) • 내부 구성: 역시 키-값 쌍으로 이루어져 있지만, 텍스트 기반 포맷이야. 예를 들어, "{"name": "Alice", "age": 25}"처럼 문자열로 표현돼.• 사용 방법: 주로 데이터를 주고받을 때 사용해. 웹 서버와 클라이언트 사이에서 데이터를 주고받을 때 많이 쓰여.• 기능: 데이터를 직렬화(serialize)하고 역직렬화(deserialize)하는데 초점이 맞춰져 있어. 예를 들어, 파이썬에서 JSON 문자열을 파이썬 사전형으로 변환하려면 json.loads()를 사용해. 차이점 요약 1. 포맷과 사용 목적: 파이썬 사전형은 파이썬 프로그램 내에서 사용하는 데이터 구조고, JSON은 주로 데이터 교환을 위한 텍스트 포맷이야.2. 표현 방식: 사전형은 파이썬 문법을 따르고, JSON은 텍스트 기반이라 언어에 관계없이 사용할 수 있어.3. 기능과 제약: 사전형은 다양한 조작이 가능하지만, JSON은 데이터를 주고받는 용도로 제한적인 기능을 갖고 있어.요약: -> 똑같이 생겼지만 사전형 데이터 타입은 파이썬의 세계관안에서 바로 사용이 가능하며, 파이썬 세계관안에서 자유롭게 구사 가능하다. -> JSON 데이터 타입은 직렬화와 역직렬화에 초점이 맞춰져있으며 주고 받기 위한 데이터 타입이다.다른 언어 세계관에 들어가면 디코딩 (역직렬화)가 필요하고 다른 언어 세계관으로 보낼때는 인코딩 (직렬화)가 필요하다.
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
고생했던? 케이스에 대해 선생님의 코드가 어떻게 들어맞는 지에 대한 질문이 있습니다. ㅠ
안녕하세요, 강의를 듣고 계신 여러분!여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요!강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지를 명확히 제시해 주시면 답변에 도움이 됩니다!자신은 어떻게 이해했는지 또한 적어주면 좋습니다! ex) 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의에서 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해했습니다. 그러면 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 어느 파트섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의자신은 어떻게 이해했는지DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해어떤 부분이 궁금한지 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요?안녕하세요!강의 잘 듣고 있습니다.백준 1461 그리디 마지막 문제에 대한 질문이 있는데요. 보기 전에 풀어보긴 했는데,두더지 잡다가 어떻게 된 느낌이긴 해요..음,, 아직 습관이 안 고쳐지기는 했는데 정의하고 분석하고 따져보고 그려본 다음에 해야 하는데,, 그 제가 처음 푼 방식은리스트 요소를 지워가며 해결하는 방식인데요양/음수가 m으로 떨어지지 않는 나머지 경우를 먼저 따져 합계에 더하고, 제거한 뒤먼 데부터 다녀오는데, 최댓값을 계속 갱신해서가장 먼 거리를 나중에 빼주는 방식으로 했어요..m으로 나누어 떨어지지 않는 경우에 대한 처리를 나중에 추가했는데요선생님의 코드가 어떻게 그 경우도 잘 처리하는 지 분석이 잘 안되어서..설명 부탁 드려요.. 아! 저번 설명 너무 감사합니다 더불어 약간 공부하는 루틴?이랄까? 그런 것도 말씀해 주실 수 있는 게 있다면 혹시 말씀 부탁드려요..(코테 공부도 그렇고 다른 것도 그렇고..) 아래는 제가 처음 정답 받은 코드입니다.(코드가 지저분함에 죄송해요..)import sys input = sys.stdin.readline # 방향을 결정하고 상자 들고 다음에 처음 갈 책 위치를 반환합니다. def getPos(arr): global direction maximum = max(map(abs, arr)) if maximum in arr: if len(arr) > m: direction = False if min(arr) >= 0: direction = True return 0 for i in range(len(arr) - 1, -1, -1): if arr[i] < 0: return i else: direction = True for i in range(len(arr)): if arr[i] >= 0: return i else: if len(arr) > m: direction = True if max(arr) < 0: direction = False return len(arr) - 1 for i in range(len(arr)): if arr[i] >= 0: return i else: direction = False for i in range(len(arr) - 1, -1, -1): if arr[i] < 0: return i return -1 n, m = map(int, input().rstrip().split()) arr = list(sorted(map(int, input().rstrip().split()))) cnt = 0; direction = True; reach = 0; plusCount = 0; minusCount = 0 #양수/음수 따로 헀어야 좋았는데, 하다보니 개수 세는 걸 만들었어요.. def count(): global plusCount, minusCount for i in arr: if i >= 0: plusCount += 1 elif i < 0 : minusCount += 1 count() #양수 m으로 나누어 떨어지지 않을 경우에 대한 처리입니다. if plusCount % m != 0: mini = min(i for i in arr if i >= 0) idx1 = arr.index(mini) idx2 = min(arr.index(mini) + (plusCount % m), len(arr)) reach = arr[idx2 - 1] for i in range(idx1, idx2): arr.remove(arr[idx1]) cnt += reach * 2 #음수 m으로 나누어 떨어지지 않을 경우에 대한 처리입니다. if minusCount % m != 0: maxi = max(i for i in arr if i < 0) idx1 = arr.index(maxi) idx2 = max(arr.index(maxi) - (minusCount % m), -1) far = abs(arr[idx2 + 1]) for i in range(idx1, idx2, -1): arr.remove(arr[idx2 + 1]) cnt += far * 2 reach = max(reach, far) # 이럴 필요 없는데, 돌면서 먼 데 구하고 그 안쪽? 지우는 방식으로 했어요.. while arr: pos = getPos(arr) far = abs(arr[min(len(arr) - 1, pos + m - 1) if direction else max(0, pos - m + 1)]) for i in range(m): if not arr: break arr.remove(arr[pos]) if not direction or pos == len(arr): pos = max(pos - 1, 0) cnt += far * 2 reach = max(reach, far) print(cnt - reach)
-
미해결[신규 개정판] 코딩 입문자를 위한 파이썬 완벽가이드
실습문제 9 쿼리
문제에 풀어주신 쿼리랑 이 쿼리랑 비교했을 때많이 비효율적인가요? # 9 while True : password = int(input('비밀번호를 입력하세요.')) if password == 1234 : print('로그인 성공!') break else : print('로그인 실패!')
-
해결됨실리콘밸리 엔지니어와 함께하는 OpenAI API (ChatGPT)
강의 자료 받을수 있을까요?
강사님 강의 잘 듣고 있습니다. 혹시 강의 과정에서 사용하신 강의 자료 통합본 형태로 받아 볼수 있을 까요? 현재 일부 강의만 해당 자료만 받을수 있어서 문의 드립니다.
-
해결됨초보자를 위한 쉬운 파이썬 기초와 데이터 분석
5번째 강의 jupyter notebook 사용법 에서 19초 부분 질문
19초에 보면 이것들이 다 세팅되어있다는 존재하에 강의를 진행한다고 하셨는데여. 탐색영역에서 현재 있는 폴더와 파일들의 ipymb파일들이 쭈욱 나오는데 이건 어디서 받는건가요? 28초에 BS코드를 열어가지고 bs코드창을 띄우셨는데 이건 어떻게 띄우는건가요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
실행 파일을 만들 때 모든 파일이 동일한 Dir에 있어야 하나요?
실행 파일을 생성시에 사용된 모든 파일이 동일 디렉토리에 있어야 하나요?(재활용을 위해 Function을 만들어서, Function 폴더에 저장함) 아래는 제가 작업했던 내용 및 에러입니다.============================ Python 폴더 아래와 같이 폴더가 있습니다.ProjectGUIFunctionProject 폴더에 실행할 a.py 파일이 있고a.py에서는 GUI, Function 폴더에 있는 ui와 function 들을 사용합니다. vs code 상에서 실행하면 문제 없이 실행이 됩니다. 실행 파일을 만들기 위해 Project dir로 이동하고, 아래와 같이 실행하여 exe 파일을 생성했습니다.E:\python\Project> pyinstaller -w -F 네이버부동산_상가.py 파일을 실행하니 아래와 같이 나타납니다. import sys, os try: sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) except: notebook_dir = os.getcwd() sys.path.append(os.path.dirname(os.path.abspath(notebook_dir))) from PySide6.QtWidgets import QApplication, QWidget, QMessageBox from GUI.naverland_SG_ui import Ui_Form from GUI.Naver_map import * from Functions.Naver_land import * import sys import requests import json import math class MainWindow(QWidget, Ui_Form): def __init__(self): super().__init__() self.setupUi(self) self.file_path = os.getcwd() + r'\data' # 지역 초기화 self.loc1.clear() self.loc1.addItem('') self.loc2.clear() self.loc2.addItem('') self.loc3.clear() self.loc3.addItem('')
-
해결됨챗GPT와 파이썬으로 주식 자동매매 앱 및 웹 투자 리포트 만들기
설치 오류
아나콘다 프롬프트에서 파이썬 정상 설치 후 platform 입력 시 syntax error 가 뜹니다 ㅠ
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
비쥬얼 스튜디오에서는 되는데 명령 프롬포트에선 실행되지 않습니다
프롬포트 C:\>C:\infrun\qwer\python1.0_source\source_code\chapter10_011.pywhat is your nameiyshi iys time to play hangman manstart loadingTraceback (most recent call last): File "C:\infrun\qwer\python1.0_source\source_code\chapter10_011.py", line 21, in <module> with open('source_code/resource/word_list.csv','r') as f: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^FileNotFoundError: [Errno 2] No such file or directory: 'source_code/resource/word_list.csv' 비쥬얼 스튜디오import time import csv import random import winsound name = input('what is your name') print('hi',name,'time to play hangman man') print() time.sleep(1) print('start loading') print() time.sleep(0.5) words=[] with open('source_code/resource/word_list.csv','r') as f: reader = csv.reader(f) next(reader) for c in reader: words.append(c) random.shuffle(words) q = random.choice(words) words=q[0].strip()
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
2차원 dp 11:45분에서 하상좌우 순서에 의미가 있나요?
상하좌우 순서 고쳐주셨다고 하셔서 그냥 순서 바꿔서 해봤더니 값이 다르게 나오네요.. 이해가 안됩니다 센세 ㅠㅠ흑흑
-
미해결웹크롤링 with 파이썬
pycharm setting에서 질문 드려요.
안녕하세요? pycharm 세팅에서 python interpreter 설정 시 설정한 패키지가 보이지 않아서요ㅠㅡㅠ 여러번 다시 따라했는데 안되는데 방법이 있을까요?ㅜ.ㅜ
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
공부 방법
-안녕하세요 선생님 강의 잘 듣고 있습니다.제가 구현이 너무 안되어서....이 강의를 듣게 되었습니다..혼자 코드업 문제 등을 풀어보면 해결이 안되는 문제는 몇일씩 고민해도 시간만 가고 해결이 안되더라구요...그래서 방법을 한번 바꿔볼까 해서 이 강의를 듣게 되었어요..선생님 강의를 전체 한번 쭉 다 듣고 다시 개인적으로 공부하는 방법이 어떤가 싶어 문의드립니다..알고리즘을 떠올리기가 힘듭니다...ㅜ지금 DFS문제부터 듣고 있습니다.. 뒷 부분 강의부터 먼저 접해보면 앞부분의 문제는 좀더 쉽게 해결되지 않을까 해서요....;; 공부 방법에 대해 선생님께 조언을 좀 구하고저 합니다... 작성된 코드는 대부분 다 이해를 합니다..구현이 너무나 어렵습니다....ㅠㅠ조언 부탁드립니다..
-
미해결[신규 개정판] 코딩 입문자를 위한 파이썬 완벽가이드
실습문제 14 관련 문의
안녕하세요 실습문제 풀어보다가 질문이 생겨서 남깁니다! 해당 문제인 경우는 팀원의 수가 적어서 3이라는 숫자로 적어서 나누는게 가능했지만,만약 팀원의 수가 굉장히 많다면 해당 함수는 쓰기 어려워질까요? (어차피 매개변수에 그만큼 나열해야하니 효율성문제로) sql과 달리 avg라는 연산자가 없는 것 같아서요! 또한 int를 적용하지 않았는데 덧셈연산자가 작동한 이유를 알고 싶습니다! 어렴풋하게만 느낌이 와서 정확히 알고 싶습니다.
-
해결됨파이썬 알고리즘 트레이딩 파트2: Interactive Brokers API를 활용한 실시간 알고리즘 트레이딩
타임시리즈 데이터 가져오기에서 에러원인이 무엇인가요?
stock-trading-eda-scheduled.ipynb 파일에서데이트 타임을 당겨오면 아래와 같은 에러메세지가 출력됩니다. 어떤 현상인가요?
-
해결됨파이썬으로 시작하는 머신러닝+딥러닝(sklearn을 이용한 머신러닝부터 TensorFlow, Keras를 이용한 딥러닝 개발까지)
보스턴 집값 예측 15번 강의에 쓰이는 csv
보스턴 집값 예측 15번 강의에 쓰이는 csv는 어디서에서 다운받는지요?
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
기본 3강부터 막혀 멍청해서 화가납니다 ㅠㅠ
제곱수의 합문제요..6일 경우 제곱이 되려면 루트6밖에 안되는데왜 2가 2로 떨어지는 약수의 개수로 카운팅되는지 이해를 못하겠네요…또 3의 제곱 5의 제곱은 왜 고려안하는지도…( 이미 이해 다 됐다고 가정해서 말씀하신건지도 모르겠습니다.ㅠㅠ )바보도 알고리즘 천재로 만들어주신다고 들어서 잘 알려주시면 감사드리겠습니다 ㅠㅠ
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
안녕하세요. 강사님께서 제공해주신 코드로 다른 문제를 풀려고 합니다.
안녕하세요. 강사님께서 제공해주신 이분탐색 1번 2번 코드중 2번 코드로 새로운 문제를 풀려고 합니다.1번 코드(left와 right 설정)으로는 잘 풀리는데 2번 코드(cur과 step 설정)로는 잘 안풀리네요. 백준 2343번 기타문제를 강사님께서 제공해주신 코드로 풀려고 아래와 같이 코드를 짜보았습니다. 하지만 원하는 결과를 얻지 못했는데요. 어떤 부분이 잘못된건지 알려주실 수 있을까요?? nums, blue_nums = map(int, input().split())bluelay_length = list(map(int, input().split())) def check(length): count = 1 current_length = 0 for i in bluelay_length: if current_length + i <= length: current_length += i else: current_length = i count += 1 return count == blue_nums cur = 0steps = 10000+1 while steps > 0: while cur + steps <= 10000+1 and check(cur + steps): cur += steps steps //= 2 print(cur) 감사합니다.