본문 바로가기

728x90

Data Science/Pandas

(14)
날짜 데이터 핸들링 (datetime) 이번 포스팅에는 time series 데이터들을 다루기 위한 datetime 모듈에 대해서 공부해 보겠습니다. 현재 날짜 추출 먼저 datetime 모듈을 통해 현재 날짜를 추출해 보도록 하겠습니다. 아래와 같이 사용하면 됩니다. from datetime import datetime datetime.today() 결과는 현재 날짜에 관한 시간들이 나오고 결과는 year, month, day, hour, minute, second, microsecond 순으로 출력됩니다. 아래와 같이 결과들 중 하나의 값을 추출할 수도 있습니다. (아래는 month 값 추출) 날짜 형식으로 변환하기 날짜 형식(datetime)으로 되어 있지 않은 데이터를 날짜 형식으로 변환하면 데이터를 다룰 때 편리한 점이 많습니다. d..
데이터 재구조화 (pivot_table, melt) 데이터를 다룰 때 데이터의 구조를 바꿔서 처리해야 하는 경우가 많습니다. 이번 포스팅에서는 데이터를 재구조화하여 데이터의 형태를 변경하는 방법을 배워보겠습니다. Pivot Table Pivot table은 원본 데이터에서 원하는 열만 선택하여 행과 열에 배치해 새로운 형태의 테이블을 만들어 줍니다. 즉, 원본 데이터에서 새로운 형태의 데이터(피벗 테이블)를 만들 때, 피벗 테이블의 index, column, value로 사용할 열을 선택하여 재구조화할 수 있습니다. 아래의 함수를 사용하여 pivot table 기능을 사용할 수 있습니다. DataFrame.pivot_table(index=None, columns=None, values=None, aggfunc='mean') index: 피벗 테이블에서 인..
Concat, Append와 Join, Merge 데이터 결합 이번 포스팅은 데이터를 결합하기 위한 함수들을 사용해 보겠습니다. 데이터를 결합하는 방법에는 단순 결합 (Concat, Append)와 key를 기준으로 연결하는 조인(Join, Merge)이 있습니다. 먼저, 단순 연결부터 살펴보겠습니다. 단순 연결 단순 연결은 2개 이상의 데이터프레임을 열 혹은 행 방향으로 그대로 붙이는 것입니다. 아래의 함수를 이용하여 결합할 수 있습니다. pandas.concat(objs, axis=0, ignore_index=False) objs: concat을 실행할 객체의 리스트 axis: 0이면 수직으로 결합, 1이면 수평으로 결합 ignore_index: True이면 기존 index를 무시하고 0부터 시작하는 정수로 재설정 axis가 0, 1인 경우를 잘 알..
데이터 정렬 데이터 정렬 먼저 데이터프레임의 index를 기준으로 정렬하는 방법을 알아보겠습니다. 아래의 함수를 사용합니다. DataFrame.sort_index(axis=0, ascending=True, inplace=False) axis: 0이면 행 인덱스를 기준으로, 1이면 컬럼명을 기준으로 정렬 ascending: True이면 오름차순, False이면 내림차순 정렬 inplace: True면 정렬 수행 후 None 반환(실제로 DataFrame 정렬), False이면 복사본을 만들어 정렬 수행 후 이를 반환 (원본 DataFrame은 정렬되지 않음) 아래 코드에서 확인해 보겠습니다. sklearn 라이브러리의 iris 데이터를 로드하여 데이터프레임으로 만든 후, 행을 기준으로 정렬한 결과입니다. ascendi..
조건식을 이용한 데이터 탐색 및 결측값 다루기 데이터프레임의 각 컬럼에서는 조건문의 조건에 맞는 값을 가진 행을 탐색하거나 수정할 수 있습니다. 기본적으로는 아래와 같은 형식으로 조건식을 탐색합니다. DataFrame[조건식] 조건식이 1개일 경우 위 형식에 그대로 조건식을 넣어서 데이터를 필터링할 수 있습니다. 만약 조건이 여러 개라면 &(AND 연산자), | (OR 연산자)를 사용하여 연결합니다. 또한, 아래와 같은 방법으로도 필터링이 가능합니다. 이를 이용하면 원하는 컬럼을 추출하여 데이터를 수정할 수 있고 새로운 컬럼을 생성할 수도 있습니다. df.loc[조건문, '추가/변경할 컬럼명'] 위 결과에서 볼 수 있듯이, 6번 행을 추출하여 추출하고자 하는 컬럼의 데이터를 컬럼명을 통해 추출하고, 그 데이터를 오른쪽에 있는 ['별님', 50, 60..
Pandas를 이용한 Data Handling DataFrame 선언하기: pd.DataFrame() 데이터 프레임을 선언하는 방법에는 여러 가지가 있습니다. 공통적으로는 pd.DataFrame()을 사용합니다. 아래 코드는 모두 같은 데이터 프레임을 나타내고 있습니다. import numpy as np import pandas as pd dataset = np.array([['kor', 70], ['math', 80]]) df = pd.DataFrame(dataset, columns=['class', 'score']) df = pd.DataFrame(data=[['kor', 70], ['math', 80]], columns=['class', 'score']) df = pd.DataFrame({'class': ['kor', 'math'], 'scor..

728x90
반응형