전체 글

전체 글

    웹 자동화의 핵심 : 셀레니움의 WebElement 란?

    웹 브라우저를 제어하여 자동화 작업을 수행하는 셀레니움은 웹 개발자와 테스터에게 필수적인 도구입니다. 셀레니움의 핵심 요소 중 하나는 WebElement입니다. 이번 글에서는 WebElement에 대해 자세히 살펴보고, 웹 페이지 요소를 다루는 다양한 기능을 알아보겠습니다. 1. WebElement란? WebElement는 웹 페이지의 구성 요소를 나타내는 객체입니다. 버튼, 입력 필드, 링크, 이미지 등 웹 페이지상의 모든 상호작용 가능한 요소는 WebElement로 표현됩니다. 셀레니움은 이러한 요소를 식별하고 조작하기 위한 다양한 메서드를 제공합니다. 2. 요소 찾기: 검색 메소드 활용 WebElement를 찾는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 다음과 같습니다. By.ID: 요소..

    Pandas : DataFrame 합치기

    데이터 분석에서 여러 개의 데이터 세트를 결합하는 것은 흔한 일입니다. Pandas는 이를 위해 다양한 DataFrame 연결 메서드를 제공합니다. 이번 글에서는 두 개의 DataFrame 연결에 초점을 맞춰, 유용한 방법과 주의 사항을 살펴보겠습니다. 1. Merge : 공통 열 기준으로 결합 두 개의 DataFrame이 공통 열을 가지고 있을 때, 해당 열을 기준으로 데이터를 합병할 수 있습니다. 가장 일반적인 방법은 merge() 메서드 사용입니다. df1 = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 28]}) df2 = pd.DataFrame({'name': ['Alice', 'Charlie'], 'city': ['Se..

    저장된 파일을 데이터프레임으로 읽어올 때 na_values, na_filter 매개변수 활용하기

    Pandas에서는 read_csv(), read_excel(), read_json() 등의 함수를 사용하여 저장된 파일을 데이터프레임으로 읽어올 수 있습니다. 이러한 함수에는 na_values와 na_filter 매개변수를 사용하여 결측값을 처리할 수 있습니다. na_values na_values 매개변수는 결측값으로 처리할 값을 지정합니다. na_values 매개변수를 지정하지 않으면 기본적으로 None과 np.nan을 결측값으로 처리합니다. na_filter na_filter 매개변수는 결측값이 포함된 행을 제거할지 여부를 지정합니다. na_filter 매개변수를 True로 설정하면 결측값이 포함된 행이 제거됩니다. 예제 다음은 read_csv() 함수를 사용하여 CSV 파일을 데이터프레임으로 읽어오..

    ValueError: Cannot mask with non-boolean array containing NA / NaN values

    Pandas에서 mask() 메서드를 사용하여 데이터를 필터링할 때 다음과 같은 오류가 발생할 수 있습니다. ValueError: Cannot mask with non-boolean array containing NA / NaN values 이 오류는 mask() 메서드의 인자로 NaN 값이 포함된 비논리형 배열을 전달했을 때 발생합니다. mask() 메서드는 인자로 전달된 배열의 값이 True인 행만 반환하는데, NaN 값은 True 또는 False로 변환할 수 없기 때문입니다. 이 오류를 처리하기 위해서는 다음과 같은 방법을 사용할 수 있습니다. 결측값을 제거한 후 필터링 결측값을 제거한 후 mask() 메서드를 사용하여 필터링하면 오류가 발생하지 않습니다. df = df.dropna() df_fil..

    셀레니움 요소 찾기 : 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..