본문 바로가기

pandas

(12)
[Python] Pandas requires version 간단 해결법 (UserWarning: Pandas requires version '2.8.4' or newer of 'numexpr') Pandas를 import하는 과정에서 다음과 같은 경고 메시지가 발생하였습니다.C:\Users\user\anaconda3\lib\site-packages\pandas\core\computation\expressions.py:21: UserWarning: Pandas requires version '2.8.4' or newer of 'numexpr' (version '2.8.3' currently installed).C:\Users\user\anaconda3\lib\site-packages\pandas\core\arrays\masked.py:60: UserWarning: Pandas requires version '1.3.6' or newer of 'bottleneck' (version '1.3.5' c..
[Python] ValueError: If using all scalar values, you must pass an index 간단 해결 방법 위의 오류가 떴다면 당신은 딕셔너리를 데이터프레임으로 만드는 과정에서 오류가 떴을 가능성이 높다. 오류의 내용은 데이터프레임의 모든 값이 스칼라 형태일 경우 인덱스 값을 입력해야 한다는 것이다. 스칼라란 1차원 데이터를 의미한다. 리스트로 감싸주면 2차원 데이터(벡터), 리스트 안에 또 리스트로 감싸주면 3차원 데이터(행렬)가 된다. 해결하기 위해서는 스칼라 형태를 바꾸든, 인덱스 값을 입력하든 하면 된다. 딕셔너리를 리스트로 감싸는 방법도 있다. 해결 방법 1. 인덱스 값 입력 >>> dic = {"A": "a", "B": "b", "C": "c", "D": "d"} >>> pd.DataFrame(dic, index=[0]) A B C D 0 a b c d 오류 메시지의 뜻대로 인덱스를 입력해 준다. ..
[Python] 카테고리별 네이버 기사 크롤링 오늘은 네이버 기사를 카테고리별로 크롤링하여 제목, 날짜, 본문, 카테고리, 링크의 속성을 가진 데이터프레임을 만들어보겠습니다. 이후 포스팅에서는 카테고리별로 수집한 네이버 기사의 본문을 형태소 단위로 나누어 각 본문에서 등장한 형태소의 빈도수를 데이터프레임으로 정리해 보겠습니다. 이후엔 그 데이터프레임을 가지고 랜덤 포레스트를 시행하여 아무 기사의 본문을 넣으면 카테고리를 예측하는 모델을 만들어보겠습니다. 한 카테고리와 페이지에서 뉴스 기사 링크 수집 일단, 각 페이지에서 뉴스 링크를 수집하는 함수를 만들어보겠습니다. import requests from bs4 import BeautifulSoup from tqdm.notebook import tqdm 기본적으로 크롤링에 필요한 모듈인 requests..
[Pandas] 데이터프레임 정렬, 선택, 삭제 문법 및 사용법 정리 오늘은 Pandas 모듈을 사용하여 데이터프레임을 정렬, 선택, 삭제하는 방법에 대해 알아보겠습니다. 데이터프레임 내의 데이터를 순서대로 정렬하고, 특정 데이터만 선택하고, 삭제할 수 있습니다. [데이터프레임 생성] df = pd.read_csv("stock_df.csv", encoding="CP949") df 먼저 외부에서 다운로드한 자료로 데이터프레임을 생성해보았습니다. 데이터프레임 정렬 [PER 오름차순 정렬] df.sort_values(by=["per"]) sort_values 함수를 통해 데이터를 순서대로 정렬할 수 있습니다. 함수 안의 by 변수를 통해 어떤 컬럼을 기준으로 정렬할지를 선택해 주셔야 제대로 정렬이 됩니다. [PER 내림차순 정렬] df.sort_values(by=["승차총승객수..
[Pandas] 데이터프레임 생성 문법 및 사용법 정리 Pandas는 정형 데이터를 사용하여 데이터프레임을 만들고 분석할 수 있도록 하는 Python 내의 모듈입니다. 오늘은 이 Pandas를 사용하여 데이터프레임을 생성하는 방법을 정리해 보도록 하겠습니다. 데이터프레임 생성 - 첫 번째 방법 import pandas as pd data1 = {"연도": range(2000, 2005), "성적": [90, 80, 70, 80, 85]} df = pd.DataFrame(data1) pandas 모듈의 DataFrame 함수 안에 딕셔너리를 삽입하여 데이터프레임을 만들 수 있습니다. 컬럼 명을 key 값에, 데이터를 value 값에 넣으면 됩니다. 출력 결과는 다음과 같습니다. df - 두 번째 방법 data2 = [[2000, 90], [2001, 80], ..
[Numpy] 배열 생성 문법 및 사용법 정리 오늘은 행렬이나 다차원 배열의 연산을 쉽게 할 수 있도록 돕는 NumPy 모듈의 기본 문법과 사용법에 대해 정리해보도록 하겠습니다. NumPy 배열 연산의 특징으로는 적은 메모리를 사용하고 빠른 처리를 한다는 것이 있습니다. NumPy 배열의 장점은 기존의 리스트를 이용한 계산과는 다르게 for문을 사용하지 않고 간단하게 연산한다는 것입니다. 예를 들어 NumPy 배열의 모든 수에 1을 더하고 싶다면 단순히 NumPy 배열 + 1 을 코드로 작성하면 됩니다. (for문을 이용하여 하나하나 1을 더하고 다시 리스트에 저장하는 방식보다는 훨씬 빠르고 간단하죠?) 지금부터 NumPy 모듈의 기본 문법에 대해 알아보겠습니다. 초기화할 값 지정하여 배열 생성 import numpy as np a = np.arra..
[Python] 우리나라의 GDP와 GNP의 연도별 변화추세 오늘은 1961년부터 2021년까지의 우리나라의 명목 GNP와 명목 GDP 데이터를 살펴보고 그 차이에 대해 관찰해보겠습니다. 명목 데이터를 사용하는 이유는 사이트에 GNP 데이터가 없기 때문입니다. (아래에서 설명하겠지만 명목 GNP = 명목 GNI이지만 실질 GNP != 실질 GNI 이기 때문에 실질 데이터로 GNP를 구하려면 더 복잡합니다) 데이터는 ecos 한국은행 경제통계시스템에서 수집할 수 있습니다. https://ecos.bok.or.kr/ 한국은행경제통계시스템 ecos.bok.or.kr 데이터 수집 먼저 명목 GDP 데이터 부터 수집하도록 하겠습니다. 사이트의 검색창에 "국내총생산"을 입력하여 가장 첫 번째로 뜨는 "연간지표 > 국내총생산(명목, 원화표시)"를 클릭해 준 후 조회합니다. 연..
[Python] 공공데이터포털 API 사용하여 데이터 수집하기 이전 시간에 공공데이터포털에서 인증키를 받아 XML파일을 열어보는 것까지 진행하였습니다. 이번 포스팅을 읽기 전에 이전 포스팅을 보고 오시는 것을 추천드립니다. https://bigdata-doctrine.tistory.com/16 공공데이터포털 오픈 API 사용법 : 인증키 생성, XML 파일 접속 데이터를 수집하는 방법에는 여러 가지가 있습니다. 그중 하나는 직접 크롤링하는 것이고 하나는 오픈 API를 사용하여 크롤링하는 것입니다. 직접 크롤링을 하는 경우에는 여러 문제가 발생할 bigdata-doctrine.tistory.com 이번 시간에는 파이썬을 활용하여 공공데이터포털의 국토교통부 아파트매매 실거래자료 데이터를 데이터프레임에 저장하고 시각화를 통해 간단한 분석을 하도록 하겠습니다. 데이터 수집..

반응형