저장된 파일을 데이터프레임으로 읽어올 때 na_values, na_filter 매개변수 활용하기
·
파이썬/Pandas
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
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
데이터 분석의 대부분은 쓸모 없는 정보를 걸러내고 관심 있는 부분만 추출하는 과정으로 구성됩니다. 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
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
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
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
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: ..