분류 전체보기 (135) 썸네일형 리스트형 [pandas] 그래프 x축 날짜 간격이 너무 촘촘한 경우. pandas로 데이터 시각화 할 때 데이터가 너무 많은 경우 x축에 출력되는 라벨이 너무 촘촘해지는 경우가 있습니다. 이렇게 몇년치 데이터를 가져와서 그래프를 만들면 x축이 너무 촘촘해 집니다. 이럴때 set_xticks를 사용해서 x축 라벨이 출력되는 간격을 조절할 수 있습니다. https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.set_xticks.html dataframe의 전체 데이터 개수와 numpy의 range 함수를 사용하면 편하게 x축 간격에 사용할 값을 만들 수 있습니다. https://numpy.org/doc/stable/reference/generated/numpy.arange.html ax = df.plot.bar(.. [PySide6] 파이썬 UI 프로그램 시작하기(2) 2022.01.21 - [PYTHON] - [PySide6] 파이썬 UI 프로그램 시작하기(1) 파이썬으로 GUI를 만들기 위한 방법은 크게 2가지가 있는 것 같습니다. 1. 소스코드에서 타이핑, 2. Qt 디자이너 사용. 다른 언어를 사용할 때 보통 디자이너를 사용했기 때문에, 일일이 코드를 타이핑해서 만드는게 너무 낯섭니다. 그래서 Qt 디자이너를 사용해서 간단히 어떤식으로 구성되는지 살펴 보았습니다. 목표는 버튼을 클릭하면 메시지 박스가 출력되는 것입니다. Qt 디자이너를 실행하고 버튼을 추가한 후 test.ui로 저장합니다. 그리고 test.ui를 어떻게 사용할지 선택을 해야합니다. 1. test.ui를 파이썬 코드로 변환한 후 사용. 2. test.ui를 그대로 사용. 1번.. [PySide6] 파이썬 UI 프로그램 시작하기(1) selenium으로 무언가 만들다 보니 GUI가 필요해졌습니다. 그러고 보니 파이썬은 콘솔에서만 공부해 보고 UI를 만들어 본적이 없네요? GUI는 어떻게 만드나 구글에 물어보니, 여러가지 라이브러리를 알려줍니다. 그 중에서 qt를 한 번 사용해 보려고 합니다. 무엇이든지 처음 시작은 필요한 프로그램 설치부터! 1. PySide6 설치 pip install qtside6 2. 설치확인을 위해 디자이너를 실행해 봅니다. C:\>pyside6-designer.exe 다음과 같이 실행되면 일단 성공. [pandas] 그래프에 한글 출력 안 될 때. pandas로 그래프에 한글이 출력안되는 경우, 폰트를 설정하면 됩니다. import matplotlib from IPython.display import set_matplotlib_formats matplotlib.rc('font', family='NanumGothic') matplotlib.rc('axes', unicode_minus=False) set_matplotlib_formats('retina') 폰트이름은 영어로 입력해야합니다. 한글로 입력하니 안 되더군요. 마이너스가 출력안되는 경우 사용하는 코드와 해상도를 높이는 코드를 추가했습니다. python으로 파일 다운 받기. 파이썬 requests 모듈과 파일의 url만 있으면 간단하게 파일을 다운로드할 수 있습니다. 1. requests 모듈 설치. pip로 requests 모듈을 설치합니다. pip install requests 2. get 함수로 파일 받기. get 함수를 사용해서 다음과 같이 파일을 다운받을 수 있습니다. import requests import re from urllib.parse import unquote response = requests.get('파일 위치') file_name = re.findall("filename=(.+)", response.headers.get("content-disposition")) real_file_name = unquote(file_name[0]).replace('.. selenium으로 span 문구로 검색하기 xpath 문법으로 "//span[contains(text(), '찾을문구')]" 을 사용하면 됩니다. from selenium import webdriver from selenium.webdriver.common.by import By from webdriver_manager.chrome import ChromeDriverManager browser = webdriver.Chrome(ChromeDriverManager().install()) browser.get("https://target-site") browser.find_element(By.XPATH, "//span[contains(text(), '찾을문구')]") pyinstaller로 selenium과 chromedriver 포함하기 셀레니엄을 사용하는 파이썬 코드를 pyinstaller로 실행파일을 만들면 바로 실행이 안 됩니다. 이유는 파이썬코드에서 사용하는 크롬드라이버가 실행파일에 포함이 안 돼서 그렇습니다. 런타임 상태 확인 우선, pyinstaller로 만든 실행파일에서 파이썬 코드를 실행하는지 판단하는 코드를 포함해야 합니다. import sys if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'): print('running in a PyInstaller bundle') else: print('running in a normal Python process') 출처: https://pyinstaller.readthedocs.io/en/stable/runtime-inf.. 중첩된 div에서 마우스 클릭 이벤트 전달 방지. div가 중첩되어 있을 때 마우스 클릭 이벤트를 전달하고 싶지 않을 때가 있습니다. 그림과 같이 BODY, Bottom, Top이 중첩된 구조에서 Top이 팝업 메뉴라 가정하고, Bottom이나 BODY 부분에 마우스 클릭 이벤트 핸들러를 추가해서 Top을 닫는 코드를 넣었다고 가정해 보겠습니다. 코드를 작성 후 실행하면, 의도와 다르게 Top 부분을 클릭해도 Top이 닫혀버립니다. 이유는 Top을 클릭하면 그 이벤트가 Bottom, BODY로 전달되기 때문입니다. 이럴때 사용할 수 있는 것이 stopPropagation입니다. https://developer.mozilla.org/en-US/docs/Web/API/Event/stopPropagation Event.stopPropagation() - We.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 17 다음