[파이썬] BeautifulSoup
·
Python/Basic
BeautifulSoup BeautifulSoup는 Python의 라이브러리 중 하나로, 웹 페이지에서 데이터를 추출하고 이를 파싱하여 사용자가 필요로 하는 정보를 손쉽게 찾을 수 있도록 도와주는 도구입니다. 이를 통해 웹 스크래핑 (웹 페이지에서 데이터를 수집하는 프로세스) 및 데이터 마이닝 (데이터에서 유용한 정보를 추출하는 프로세스) 작업을 간편하게 수행할 수 있습니다. 이 BeautifulSoup은 사용하기 쉬운 API를 제공하며, HTML 태그 및 속성을 탐색하고 원하는 요소를 찾을 수 있는 다양한 메서드를 제공하기에, 많이 사용되는 라이브러리입니다. BeautifulSoup의 사용법 1.HTML 또는 XML 데이터를 BeautifulSoup 객체로 파싱합니다. 2.파싱된 객체를 사용하여 원하는..
[파이썬] 웹 문서에서 XML 데이터 읽기와 처리
·
Python/Basic
먼저 코드에 들어가기에 앞서 파서와 파싱에 대해 설명하겠습니다. 파서(Parser) & 파싱(Parsing) 파서(parser)란 주어진 문서나 데이터를 읽고 해석하는 프로그램 또는 모듈을 가리킵니다. XML 파서는 주로 XML 형식으로 작성된 문서를 읽고 그 구조를 이해하며, 문서를 분석하여 데이터를 추출하는 데 사용됩니다. XML 문서는 일반적으로 텍스트 기반의 구조를 가지고 있으며, 이를 파싱(parsing)한다는 것은 이러한 텍스트 기반의 문서를 읽고, 데이터를 해석하고 구조화하는 과정을 의미합니다. 파싱을 통해 XML 파서가 XML 문서를 읽고 그 구조를 이해하여 데이터를 추출하고 사용할 수 있습니다. XML 파서는 XML 문서를 읽어와서 그 내부의 태그, 속성, 텍스트 등을 인식하고 이를 내부..
[파이썬] Pandas로 파일 읽기
·
Python/Basic
1. CSV 파일 읽기 Pandas의 read_csv() 함수를 사용하여 로컬 파일 및 웹에서 CSV 파일을 읽을 수 있습니다. read_csv() 함수를 이용하여 CSV 파일을 읽을 때 구분자를 지정하거나, 헤더 없는 파일을 읽을 수 있습니다. 2. 텍스트 파일 읽기 read_table() 함수를 이용하여 텍스트 파일을 읽을 수 있습니다. 정규표현식을 사용하여 공백을 구분자로 지정하거나, 특정 행을 건너뛸수 있습니다. 3. 고정폭 텍스트 파일 읽기 read_fwf() 함수를 사용하여 고정폭 텍스트 파일을 읽을 수 있습니다. widths 옵션을 사용하여 각 열의 폭을 지정할 수 있습니다. 4. 대용량 데이터 처리 read_csv() 함수의 chunksize 옵션을 사용하여 대용량 데이터를 묶음 단위로 처..
[파이썬] Pivot table(피벗테이블)
·
Python/Basic
피벗 테이블(Pivot Table) 데이터 프레임에서 두 개의 열을 이용하여 행과 열 인덱스를 재배치하여 새로운 형태의 테이블을 만드는 것 이 피벗테이블은 사용자의 새로운 기준으로 데이터가 집계되어 나타난 것입니다. 기능 데이터 재구성: 원본 데이터프레임의 행과 열을 새로운 형태로 재배치 새로운 기준에 따른 집계: 특정 열(들)을 행과 열 인덱스로 사용하여 새로운 기준으로 데이터를 그룹화하고 집계 요약 정보 제공: 피벗 테이블은 주어진 데이터를 기반으로 특정 기준에 따른 집계된 정보를 제공하여 데이터의 특성과 패턴을 더 잘 이해할 수 있도록 도와줍니다. 생성 방법 1. pivot_table() 메서드 사용: Pandas DataFrame 객체의 pivot_table() 메서드를 활용하여 피벗 테이블을 생..
[파이썬] Pandas
·
Python/Basic
Pandas란? Pandas(판다스)는 파이썬의 데이터 조작 및 분석을 위한 강력한 라이브러리입니다. 주로 데이터를 처리하고 분석하는 데 사용되며, 고수준의 자료구조와 다양한 데이터 조작 도구를 제공합니다. 주로 시계열 데이터나 표 형태의 데이터를 다루는 데 유용합니다. 특징 데이터 구조: Series(1차원 배열)와 DataFrame(2차원 표 형태의 데이터 구조)를 제공하여 데이터 조작이 용이합니다. 데이터 조작: 누락된 데이터 처리, 데이터 필터링, 그룹화, 병합, 피벗 등 다양한 데이터 조작이 가능합니다. 데이터 시각화: Matplotlib와 함께 사용하여 데이터 시각화를 수행할 수 있습니다. 데이터 입출력: 다양한 파일 형식(CSV, Excel, JSON 등)에서 데이터를 읽고 쓰는 기능을 제공..
[파이썬] Numpy
·
Python/Basic
Numpy란? NumPy는 Numerical Python의 줄임말로, 과학적 계산을 위한 핵심 라이브러리입니다. 다차원 배열과 이러한 배열을 다루는 다양한 함수들을 제공하여 벡터, 행렬 등의 수치 데이터를 효율적으로 처리할 수 있습니다. Numpy 주요 특징과 기능 다차원 배열(ndarray): Numpy의 핵심 데이터 구조로, N차원의 배열을 제공하며 벡터, 행렬 등을 표현할 수 있습니다. 배열 연산: 요소별 연산, 선형 대수, 통계 및 수학 함수 등 다양한 연산을 지원합니다. 브로드캐스팅: 다른 크기의 배열 간에도 연산을 가능하게 해주는 기능입니다. 난수 생성: 무작위 수나 난수를 생성하는 기능을 제공합니다. 효율적인 메모리 사용 및 벡터화된 연산: 파이썬의 루프를 사용하지 않고 벡터화된 연산을 통해..
[파이썬] 웹 스크래핑
·
Python/Basic
멀티 프로세싱을 이용한 웹스크래핑 requests와 BeautifulSoup을 사용하여 웹 페이지를 가져오고 파싱 pip install requests beautifulsoup4 코드예시 import requests from bs4 import BeautifulSoup as bs import time from multiprocessing import Pool # 스크래핑 대상 컨텐츠: https://beomi.github.io/beomi.github.io_old/ # 하이퍼 링크 읽어오기 def get_links(): data = requests.get("https://beomi.github.io/beomi.github.io_old/").text soup = bs(data, 'html.parser') p..
[파이썬] 멀티프로세싱(multiprocessing)
·
Python/Basic
Python은 GIL(Global Interpreter Lock) 정책으로 인해 기본적으로 스레드를 사용한 병렬 처리가 제한되어 있습니다. 따라서 여러 스레드가 동시에 실행되지 않고 하나의 스레드에서만 실행됩니다. 이러한 제한을 극복하기 위해 Python은 multiprocessing 모듈을 제공합니다. 이를 사용하여 여러 프로세스를 생성하고 각각의 프로세스에서 병렬로 작업을 수행할 수 있습니다. 멀티 프로세싱이란? 멀티프로세싱(Multiprocessing)은 컴퓨터 프로그램이 여러 개의 프로세스를 동시에 실행하여 병렬로 작업을 처리하는 방법을 가리킵니다. 각 프로세스는 독립적인 메모리 공간을 가지며, 각각이 별도의 작업을 수행할 수 있습니다. 이 방법은 다수의 중앙 처리 장치(CPU)를 활용하여 여러 ..
richpotato
'Python/Basic' 카테고리의 글 목록