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: ..
셀레니움에서 스크롤하는 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) 확인하기
·
파이썬/Basic
빈 시퀀스(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()..
정규표현식과 문자열 추출하는 방법
·
파이썬/Basic
정규표현식이란? 정규표현식(Regular Expression)은 문자열을 처리하기 위한 일종의 패턴 언어입니다. 정규표현식을 사용하면 문자열에서 특정 패턴을 검색하거나 추출할 수 있습니다. 정규표현식은 다음과 같은 구성 요소로 이루어집니다. 문자: 문자 자체를 의미합니다. 예를 들어, "a"는 문자 "a"를 의미합니다. 반복: 문자를 반복하는 패턴을 의미합니다. 예를 들어, "a+"는 문자 "a"가 한 번 이상 반복되는 패턴을 의미합니다. 선택: 문자 중 하나를 선택하는 패턴을 의미합니다. 예를 들어, "[a-z]"는 알파벳 소문자 중 하나를 의미합니다. 그룹: 문자열을 그룹으로 묶는 패턴을 의미합니다. 예를 들어, "(a|b)c"는 문자 "a" 또는 "b" 다음에 문자 "c"가 오는 패턴을 의미합니다...