분류 전체보기

    셀레니움 요소 찾기 : find_element와 find_elements

    셀레니움은 웹 브라우저를 제어하고 자동화하는 데 사용되는 오픈 소스 프레임워크입니다. 셀레니움4에서는 웹 페이지의 요소를 찾기 위해 find_element()와 find_elements() 메서드를 제공합니다. find_element() find_element() 메서드는 웹 페이지에서 지정한 조건과 일치하는 첫 번째 요소를 반환합니다. from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time driver = webdriver.Chrome() # 네이버 접속 및 페이지가 전부 로드 될 때 까지 3초간 대기 driver.ge..

    Pandas 데이터 필터링 : 원하는 데이터만 골라내기

    데이터 분석의 대부분은 쓸모 없는 정보를 걸러내고 관심 있는 부분만 추출하는 과정으로 구성됩니다. Pandas는 이러한 필터링 작업을 쉽게 해주는 다양한 기능을 제공하며, 이번 글에서는 그 중 핵심적인 방법들을 살펴보겠습니다. 1. 불린 인덱싱: 조건식으로 데이터 선택 판다스의 필터링 기본기를 다루는 것은 불린 인덱싱입니다. 이는 조건식을 활용하여 True/False 값을 반환하고, 이를 인덱스로 사용하여 원하는 데이터만 선택하는 방식입니다. import pandas as pd data = {'age': [25, 32, 40, 28, 18], 'city': ['서울', '대전', '인천', '대구', '부산']} df = pd.DataFrame(data) # 25세 이상 데이터만 필터링 df_filter..

    Pandas DataFrame의 행을 순회하는 방법

    Pandas DataFrame은 행과 열로 구성된 테이블 형식의 데이터 구조입니다. DataFrame의 행을 순회하는 방법은 크게 다음과 같이 세 가지가 있습니다. iterrows() 메서드 사용 itertuples() 메서드 사용 for 루프 사용 iterrows() iterrows() 메서드는 DataFrame의 각 행을 튜플의 형태로 반환합니다. 튜플의 첫 번째 요소는 행의 인덱스이고, 두 번째 요소는 행의 데이터입니다. df = pd.DataFrame({ 'col1': [1, 2, 3], 'col2': ['a', 'b', 'c'] }) for row in df.iterrows(): print(row) (0, (1, 'a')) (1, (2, 'b')) (2, (3, 'c')) itertuples()..

    read_csv로 csv파일을 읽을 때 Unnamed : 0 열이 생기지 않도록 파일을 여는 방법

    Pandas의 pd.read_csv() 함수를 사용하여 CSV 파일을 읽을 때, 파일의 첫 번째 열이 Unnamed : 0으로 지정되는 경우가 있습니다. 이는 CSV 파일의 첫 번째 열에 헤더가 없는 경우 발생합니다. Unnamed : 0 열을 제거하기 위해서는 다음과 같은 방법을 사용할 수 있습니다. index_col 매개변수 사용 index_col 매개변수를 사용하여 첫 번째 열을 인덱스로 지정하면 Unnamed : 0 열이 생성되지 않습니다. import pandas as pd df = pd.read_csv("data.csv", index_col=0) print(df) header 매개변수 사용 header 매개변수를 사용하여 헤더의 위치를 지정하면 Unnamed : 0 열이 생성되지 않습니다. i..

    Pandas DataFrame의 열 추가하기

    Pandas DataFrame에 열을 추가하는 방법은 크게 다음과 같이 다섯 가지가 있습니다. 할당 연산자를 사용해, 빈 문자열로 열 추가 .assign() 메서드로 빈 열 추가 .reindex() 메서드로 빈 열 추가 .insert() 메서드로 원본 데이터프레임에서 원하는 위치에 열 추가 .apply() 메서드로 빈 열 추가 할당 연산자 사용 가장 간단한 방법은 할당 연산자를 사용하여 빈 문자열로 열을 추가하는 것입니다. df = pd.DataFrame({'col1': [1, 2, 3]}) df['col2'] = '' print(df) col1 col2 0 1 1 2 2 3 이 방법은 열 이름과 열의 값을 지정할 수 있습니다. 열 이름은 문자열이어야 합니다. 열의 값은 리스트, NumPy 배열, Ser..

    Pandas DataFrame에서 열 삭제하기

    Pandas DataFrame에서 열을 삭제하는 방법은 두 가지가 있습니다. drop() 메서드 pop() 메서드 이 글에서는 drop() 메서드를 활용하여 열을 삭제하는 방법에 대해서 설명드리겠습니다. drop() 메서드 df.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise') labels: 삭제할 열 이름입니다. axis를 지정해주어야 합니다. axis: {0: index / 1: columns} labels 인수를 사용할 경우 지정할 축입니다. index: 인덱스명을 입력해서 바로 삭제를 할 수 있습니다. columns: 컬럼명을 입력해서 바로 삭제를 할 수 있습니다. level: ..

    셀레니움에서 스크롤하는 5가지 방법 - Selenium : Scroll

    오늘은 셀레니움을 사용하여 웹 페이지를 스크롤하는 방법에 대해 알아보겠습니다. 셀레니움은 웹 브라우저를 제어할 수 있는 오픈 소스 프레임워크입니다. 웹 페이지를 자동으로 탐색하거나 테스트하는 데 사용됩니다. 셀레니움으로 웹 페이지를 스크롤하는 방법은 크게 세 가지가 있습니다. 1. 원하는 높이 Y까지 스크롤하기 driver.execute_script("window.scrollTo(0, Y)") 위 코드는 window.scrollTo() 메서드를 사용하여 Y 높이까지 스크롤합니다. Y는 스크롤 위치를 지정하는 숫자입니다. 예를 들어, 다음 코드는 웹 페이지의 맨 위에서 100픽셀 아래로 스크롤합니다. driver.execute_script("window.scrollTo(0, 100)") 2. 문서의 끝까지..

    빈 시퀀스(String, Tuple, List) 확인하기

    빈 시퀀스(String, Tuple, List)는 False 값을 가집니다. 따라서 빈 시퀀스를 확인하기 위해 다음과 같이 하면 됩니다. # 권장하는 방법 if not x: print("Sequence x is Empty") # 권장하지 않는 방법 if not len(x): print("Sequence x is Empty") 위의 두 방법은 모두 빈 시퀀스를 확인하는 데 사용할 수 있습니다. 하지만, 권장하는 방법은 len() 함수를 사용하지 않는 것입니다. len() 함수는 시퀀스의 길이를 반환하기 때문에, 빈 시퀀스의 경우 0을 반환합니다. 따라서 not len(x)는 다음과 같이 동일한 동작을 수행합니다. if x == []: print("Sequence x is Empty") 이 방법은 len()..