본문 바로가기

파이썬

파이썬 시각화 라이브러리 Plotly 소개, Jupyter Notebook에서 사용하기 Plotly는 파이썬에 수많은 데이터 시각화 라이브러리 중 예쁜 걸로 손에 꼽을만한 라이브러리입니다. 또한 인터렉티브한 시각화가 가능하다는 게 큰 장점입니다. 오늘은 이 라이브러리를 주피터 노트북에서 사용하는 방법에 대해서 알아보겠습니다. Plotly에서 제공하는 온라인 호스팅 기능을 이용하지 않고 로컬로 활용하는 방법을 다룹니다. (plotly.offline 사용) Plotly 라이브러리 설치 및 업그레이드 Plotly 라이브러리를 처음 사용한다면 설치가 필요합니다. 주피터 노트북을 열고 다음 코드를 입력하면 됩니다. !pip install plotly 이전에 설치한 적이 있다면 업그레이드를 하겠습니다. !pip install plotly --upgrade Plotly를 주피터 노트북에서 사용하기 간단.. 더보기
파이썬으로 텔레그램 봇 만들기(2): WebHook과 Polling 매우 쉬운 설명 봇이 유저의 메시지를 가져올 수 있는 두 가지 방법이 있습니다. 첫 번째는 Polling, 두 번째는 WebHook입니다. 이번에는 이 두 가지에 대해서 간단하게 알아보겠습니다. Polling이란 위키백과의 설명을 발췌하면 다음과 같습니다. 하나의 장치가 동기화 처리 등을 목적으로 다른 장치의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식. 텔레그램 봇을 이 설명에 대입해서 생각해보면 이렇습니다. 매 X초마다 봇은 유저가 보낸 메시지가 있는지 확인하고, 일정 조건을 만족하면 동작을 한다. 아래 그림을 보면 조금 더 직관적으로 이해할 수 있습니다. 그림과 같이 봇은 지정된 시간(몇 초) 단위로 반복해서 새로운 메시지가 있는지 없는지 확인하는 동작을 합니다. 쉽게 생각.. 더보기
파이썬 Selenium ActionChains를 사용해서 웹사이트 자동 제어하기 ActionChains 기능을 사용하면 여러 개의 동작을 체인으로 묶어서 저장하고 실행할 수 있습니다. 마우스 이동, 클릭, 키보드 누름과 같은 기본 동작 이외에도, 마우스 커서를 특정 위치에 올려놓거나, 드래그 앤 드롭과 같은 복잡한 동작도 가능합니다. 많이 쓰이는 기본 동작 동작 코드 element로 마우스 이동 ActionChains(driver).move_to_element(ref) element 마우스 클릭 ActionChains(driver).click(ref) element 키보드 입력 ActionChains(driver).send_keys_to_element(ref, keys) 키보드 입력 ActionChains(driver).send_keys(keys) 위와 같은 동작들을 체인으로 묶어서.. 더보기
파이썬으로 텔레그램 봇 만들기(1): 봇이 할 수 있는 일과 한계점, 생성하기 Telegram Bot이란 - 텔레그램에서 봇이란 유저이 아닌 프로그램에 의해 운영되는 계정으로 유저의 아이디와 동등한 개체입니다. - 유저는 봇과의 대화창을 열거나 채널에 초대하여 메시지, 커맨드 라인, 인라인 요청 등을 보냄으로써 봇과 상호작용 할 수 있습니다. - 봇은 유저의 메시지를 읽을 수도 있고 메시지를 쓸 수도 있습니다. Bot이 할 수 있는 일 - 알림 (축구 소식, 뉴스, 미세 먼지 알림, IMAX 영화관 오픈 알림) - 검색 (특정 사이트 게시물 검색 등) - 채널 관리 - 게임 - 만들기에 따라서 이 외에도 무엇이든 할 수 있습니다. 봇 생성하기 텔레그램 봇을 생성하기 위해서는 우선 텔레그램에 가입한 뒤, BotFather에게 생성 요청을 해야 합니다. 앞으로는 이 봇 파더가 만들어준.. 더보기
[파이썬 pandas 기초] 데이터프레임 결측 값 확인하는 방법: isna(), notna() pandas dataframe으로 데이터를 다루다 보면 데이터 중 일부가 누락되어있는 경우가 종종 있습니다. 오늘은 누락된 데이터가 존재하는지 확인하는 방법을 알아보겠습니다. dataframe.isna() 이 메서드는 데이터프레임 내에 결측 값을 확인하여, 그 결과를 True 또는 False로 반환합니다. NA, None, numpy.nan은 True 값에 해당하고, 그 외 나머지는 False에 해당합니다. 샘플 데이터프레임을 만들어서 확인해 보겠습니다. df = pd.DataFrame({'name': ['Anne', 'Olaf', 'Ralph'], 'age': [4, 7, np.nan], 'hobby': [None, 'swimming', 'dance']}) df """ nameagehobby 0Anne.. 더보기
파이썬 Selenium 네이버 로그인 자동입력 방지(캡차) 피하기 파이썬에서 셀레니움 라이브러리를 이용하면 손쉽게 로그인이 필요한 웹사이트도 접근할 수 있습니다. 다만 종종 문제가 되는 것이 캡차(captcha)에 걸리는 경우입니다. 오랜만에 네이버를 selenium을 통해서 들어가려고 했더니 로그인 자동 입력 방지에 걸렸습니다. 방법을 찾아보니 생각보다 간단하게 해결할 수 있었습니다. 로그인 자동 입력 방지에 걸리는 방법 제목 처음에 사용했던 코드입니다. 대부분의 사람들과 마찬가지로 send_keys() 메서드를 이용하여 로그인을 시도했습니다. from selenium import webdriver import time # 크롬 브라우저를 이용해서 네이버에 접근합니다. driver = webdriver.Chrome() driver.get('https://www.nav.. 더보기
[파이썬 pandas 기초] 데이터프레임의 데이터 타입 바꾸기: astype() pnadas dataframe을 다루다 보면 데이터 타입을 변경해야 할 때가 있습니다. 오늘은 그 방법을 알아보겠습니다. DataFrame 데이터 타입을 바꾸는 두가지 방법 코드를 보면서 어떤 결과가 나오는지 살펴보겠습니다. 우선 데이터프레임을 만들어줍니다. # 라이브러리를 불러옵니다. import pandas as pd # 샘플 데이터프레임을 생성합니다. df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]}) df """ col1col2 013 124 """ df의 데이터타입을 확인하겠습니다. int 정수 타입인 것을 알 수 있습니다. print(df.dtypes) """ col1 int64 col2 int64 dtype: object """ float로 바꿔보겠습.. 더보기
[python pandas 기초] DataFrame의 속성: index, columns, shape, dtypes 등 파이썬을 이용해서 코딩을 하다 보면 많이 사용하는 라이브러리 중 하나가 바로 판다스입니다. 오늘은 pandas dataframe을 활용할 때 알아두면 도움이 되는 기초 속성 9가지를 알아보겠습니다. 코드 실습하기 # 라이브러리 불러오기 import pandas as pd # 샘플 데이터프레임 만들기 df = pd.DataFrame({'Animal': ['Falcon', 'Falcon','Parrot', 'Parrot'], 'Max Speed': [380., 370., 24., 26.], 'Weight': [1.5, 1.4, 2., 1.9]}) # 출력하기 df """ AnimalMax Speed Weight 0Falcon380.0 1.5 1Falcon370.0 1.4 2Parrot24.0 2.0 3Par.. 더보기