반응형

공부/판다스 데이터분석 5

[ Pandas ] 웹, API를 활용하여 데이터 수집하기

1. 웹을 활용해서 데이터 수집하기 1.1 HTML 웹 페이지에서 표 속성 가져오기 read_html() 함수는 HTML 웹 페이지에 있는 태그의 데이터를 모두 찾아서 데이터 프레임으로 변환한다. 표 데이터들은 별도의 데이터 프레임으로 변환되기 때문에 여러개의 데이터 프레임을 원소로 갖는 리스트가 반환된다. 웹페이지의 정보를 parsing하기 위해서는 read_html() 함수 인자에 url이나 html파일을 넣어주면 된다. 1.2 웹 스크래핑 BeautifulSoup 과 같은 웹 크롤링 도구로 수집한 데이터들을 데이터프레임으로 정리하는 방법을 알아보자. 먼저 스크래핑한 내용들을 파이썬 리스트, 딕셔너리 등으로 정리한 뒤, DataFrame() 함수에 리스트나 딕셔너리 형태로 전달하여 데이터 프레임으로 ..

[ Pandas ] 외부 파일 읽어오기(CSV, EXCEL, JSON)

판다스는 다양한 형태의 외부파일을 읽어와서 데이터 프레임으로 변환할 수 있다. file format Reader Writer CSV read_csv to_csv JSON read_json to_json HTML read_html to_html Local clipboard read_clipboard to_clipboard MS Excel read_excel to_excel HDF5 Format read_hdf to_hdf SQL read_sql to_sql 1. CSV파일 데이터 값을 쉼표로 구분한다는 의미로 comma-separated values 를 줄여 CSV라고 부른다. 쉼표로 열을 구분하고 줄바꿈으로 행을 구분한다. pandas.read_csv("파일경로") 인자로 여러 옵션들을 전달 할 수도 있..

[ Pandas ] 산술연산 (시리즈, 데이터프레임)

판다스 객체의 산술연산은 내부적으로 3단계의 프로세스를 거친다. 행/열 인덱스를 기준으로 모든 원소를 정렬한다. 동일한위치에 있는 원소끼리 일대일로 대응시킨다. 대응이되는 원소끼리 연산을 처리한다. (이때 대응되는 원소가 없다면 NaN으로 처리) 1. 시리즈연산 1.1 시리즈 vs 숫자 시리즈 객체에 어떤 숫자를 더하면 시리즈의 개별원소레 각각 숫자를 더하고 계산한 결과를 시리즈 객체로 반환한다. + - % * 모두 가능하다. Series객체 + 연산자 + 숫자 그냥 계산식 쓰듯이 자연스럽게 써주면된다. 1.2 시리즈 vs 시리즈 시리즈의 모든 인덱스에 대하여 같은 인덱스를 가진 원소끼리 계산하여 새 시리즈를 반환한다. import pandas as pd # 딕셔너리 데이터로 판다스 시리즈 만들기 stu..

[ Pandas ] 인덱스 활용

1. 특정 열을 행 인덱스로 설정 set_index()메소드를 사용하여 데이터 프레임의 특정 열을 행 인덱스로 설정한다. 단,원본 데이터 프레임을 바꾸지 않고 새로운 데이터 프레임 객체를 반환하는 점에 유의한다. inplace=True를 추가하면 다시 지정이된다. DataFrame객체.set_index(['열이름'] 또는 '열이름') 2. 행 인덱스 재배열 reindex()메소드를 사용하면 데이터프레임의 행 인덱스를 새로운 배열로 재지정할 수 있다. 이 또한 새로운 데이터 프레임 객체를 반환한다. DataFrame객체.reindex(새로운 인덱스 배열) 기본 데이터 프레임에 존재하지 않은 행 인덱수가 새롭게 추가되는 경우 그 행의 데이터 값은 NaN 값이 입력된다. 그 모양이 맘에 안든다면 인자로 fil..

[ Pandas ] 판다스 자료구조 (시리즈, 데이터 프레임)

DataFrame객체.loc[행인덱스, 열이름] DataFrame객체.iloc[행번호, 열번호] 데이터는 형태나 속성이 매우 다양하다. 서로 다른 형식을 갖고 있는 데이터들을 컴퓨터가 이해할 수 있도록 하기 위해서는 구조를 통합해줘야한다. 이를 위해 판다스는 1차원 배열인 시리즈와 2차원 배열인 데이터 프레임이라는 구조화된 데이터 형식을 제공한다 판다스의 1차적인 목적은 서로 다른 데이터 형식을 공통의 포멧으로 만드는 것이다. 1. 시리즈 시리즈는 데이터가 순차적으로 나열된 1차원 배열의 형태를 갖는다. 인덱스와 데이터 값은 일대일 대응이된다. 파이썬의 딕셔너리와 비슷하다고 볼 수 있다. 1.1. 딕셔너리를 시리즈로 변환 pandas.Series(딕셔너리) #딕셔너리->파이썬 1.2 인덱스와 배열 ser..

반응형