반응형
Pandas DataFrame을 이용한 데이터 전처리 기초
안녕하세요 IT블로그 작성자입니다. 오늘은 Pandas DataFrame을 이용한 데이터 전처리 기초에 대해 알아보도록 하겠습니다.
Pandas는 데이터 분석을 위한 파이썬 라이브러리 중 가장 대표적인 것입니다. Pandas의 기본적인 데이터 구조는 Series(1차원 배열)와 DataFrame(2차원 배열)입니다. 오늘은 Pandas DataFrame에 초점을 맞추어 데이터를 전처리하는 방법을 살펴보겠습니다.
서론
Pandas DataFrame은 엑셀과 유사한 테이블 형식의 데이터 구조를 제공합니다. 이러한 구조는 데이터를 구성하고 처리할 때 유용한 방법을 제공합니다.
DataFrame 객체는 다양한 데이터 유형을 지원하며, 이를 처리하기 위해 다양한 방법을 제공합니다. 이러한 방법들은 누락된 데이터, 중복 데이터, 이상치와 같은 것들을 처리하는 데 있어 매우 유용합니다. Pandas DataFrame은 데이터를 읽고 쓰는 것이 쉽고, 다른 데이터 소스와 연동이 용이하여 실무에서 매우 자주 사용됩니다.
예시
실습을 위해 아파트 거래 데이터를 이용하겠습니다. 데이터 파일은 csv 형식으로 저장되어 있습니다. 우선 데이터 파일을 불러오는 코드부터 작성해보겠습니다.
```python
import pandas as pd
df = pd.read_csv('apartment_sales.csv')
```
위 코드는 `read_csv` 함수를 이용해 데이터를 불러오는 코드입니다. 이제 데이터의 구성을 살펴보겠습니다.
```python
df.head()
```
위 코드는 데이터의 첫 다섯 줄을 출력하는 코드입니다. 데이터의 구성은 다음과 같습니다.
|ID|시|구|한강|계약년월|계약일|아파트|전용면적|거래금액|층|건축년도|
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|1|강원도|강릉시|X|2006-03|10|강남아파트|39.8200| 55,000| 2|2004|
|2|강원도|강릉시|X|2006-04|20|강남아파트|39.8200| 55,000| 6|2004|
|3|강원도|강릉시|X|2006-04|22|강남아파트|51.9700| 70,000| 8|2004|
|4|강원도|강릉시|X|2006-04|25|강남아파트|59.8800| 77,000| 4|2004|
|5|강원도|강릉시|X|2006-06|23|강남아파트|84.9900|130,000| 5|2004|
위 테이블은 아파트 거래 데이터를 보여줍니다. 이제부터 여러분은 이 데이터를 통해 다양한 분석을 진행할 것입니다. 하지만 데이터가 사용 가능한 형태가 아닌 경우도 있습니다. 이 때 데이터 전처리가 필요합니다.
활용 발안
1. 누락된 데이터 처리
수집된 데이터에는 누락된 항목이 있을 수 있습니다. 이것은 데이터를 처리할 때 문제를 일으키는 주요 원인 중 하나입니다. 누락된 항목은 대부분 NaN(Not a Number)과 같은 값으로 표시됩니다.
Pandas에서는 `isnull()`과 `fillna()` 함수를 이용하여 누락된 항목을 처리할 수 있습니다.
```python
# 누락된 항목 개수 확인
df.isnull().sum()
# 전용면적이 NaN인 경우 0으로 대체
df['전용면적'] = df['전용면적'].fillna(0)
```
위 코드는 `isnull()` 함수를 이용해 누락된 항목 개수를 확인하고(`sum()` 함수), `fillna()` 함수를 이용해 `전용면적`이 누락된 경우 0으로 대체하는 코드입니다.
2. 중복 데이터 처리
데이터에 중복된 항목이 포함될 수 있습니다. 이 경우 이러한 중복 항목을 찾아 처리할 필요가 있습니다.
이를 처리하기 위해 Pandas에서는 `duplicated()`와 `drop_duplicates()` 함수를 제공합니다.
```python
# 중복된 행 개수 확인
sum(df.duplicated())
# 전체 행 중 중복된 행 제거
df = df.drop_duplicates()
```
위 코드는 `duplicated()` 함수를 이용해 중복된 행 개수를 계산하고, `drop_duplicates()` 함수를 이용해 중복된 행을 제거하는 코드입니다.
3. 이상치(Outlier) 처리
이상치는 데이터의 분포와 일치하지 않는 것입니다. 이를 처리하는 방법 중 하나는 이상치를 가지고 있는 항목을 삭제하는 것입니다.
```python
# 거래금액이 80억 이상인 데이터 제거
df = df[df['거래금액'] < 800000000]
```
위 코드는 `거래금액`이 80억 이상인 데이터를 제거하는 코드입니다.
결론
이상으로 데이터 전처리에 대한 기초적인 내용을 알아보았습니다. 누락된 데이터, 중복된 데이터, 이상치와 같은 것들은 데이터 분석에서 문제를 일으키므로 이러한 데이터를 처리하는 것은 매우 중요합니다. 데이터 전처리는 데이터 분석의 성공을 위한 매우 중요한 과정입니다. Pandas에서 제공하는 다양한 함수를 활용하면 이러한 데이터를 쉽게 처리할 수 있습니다. 데이터 전처리는 데이터 분석의 첫 번째 단계입니다. 데이터를 정확하고 효과적으로 처리하면 보다 정확한 분석 결과를 얻을 수 있습니다.
안녕하세요 IT블로그 작성자입니다. 오늘은 Pandas DataFrame을 이용한 데이터 전처리 기초에 대해 알아보도록 하겠습니다.
Pandas는 데이터 분석을 위한 파이썬 라이브러리 중 가장 대표적인 것입니다. Pandas의 기본적인 데이터 구조는 Series(1차원 배열)와 DataFrame(2차원 배열)입니다. 오늘은 Pandas DataFrame에 초점을 맞추어 데이터를 전처리하는 방법을 살펴보겠습니다.
서론
Pandas DataFrame은 엑셀과 유사한 테이블 형식의 데이터 구조를 제공합니다. 이러한 구조는 데이터를 구성하고 처리할 때 유용한 방법을 제공합니다.
DataFrame 객체는 다양한 데이터 유형을 지원하며, 이를 처리하기 위해 다양한 방법을 제공합니다. 이러한 방법들은 누락된 데이터, 중복 데이터, 이상치와 같은 것들을 처리하는 데 있어 매우 유용합니다. Pandas DataFrame은 데이터를 읽고 쓰는 것이 쉽고, 다른 데이터 소스와 연동이 용이하여 실무에서 매우 자주 사용됩니다.
예시
실습을 위해 아파트 거래 데이터를 이용하겠습니다. 데이터 파일은 csv 형식으로 저장되어 있습니다. 우선 데이터 파일을 불러오는 코드부터 작성해보겠습니다.
```python
import pandas as pd
df = pd.read_csv('apartment_sales.csv')
```
위 코드는 `read_csv` 함수를 이용해 데이터를 불러오는 코드입니다. 이제 데이터의 구성을 살펴보겠습니다.
```python
df.head()
```
위 코드는 데이터의 첫 다섯 줄을 출력하는 코드입니다. 데이터의 구성은 다음과 같습니다.
|ID|시|구|한강|계약년월|계약일|아파트|전용면적|거래금액|층|건축년도|
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|1|강원도|강릉시|X|2006-03|10|강남아파트|39.8200| 55,000| 2|2004|
|2|강원도|강릉시|X|2006-04|20|강남아파트|39.8200| 55,000| 6|2004|
|3|강원도|강릉시|X|2006-04|22|강남아파트|51.9700| 70,000| 8|2004|
|4|강원도|강릉시|X|2006-04|25|강남아파트|59.8800| 77,000| 4|2004|
|5|강원도|강릉시|X|2006-06|23|강남아파트|84.9900|130,000| 5|2004|
위 테이블은 아파트 거래 데이터를 보여줍니다. 이제부터 여러분은 이 데이터를 통해 다양한 분석을 진행할 것입니다. 하지만 데이터가 사용 가능한 형태가 아닌 경우도 있습니다. 이 때 데이터 전처리가 필요합니다.
활용 발안
1. 누락된 데이터 처리
수집된 데이터에는 누락된 항목이 있을 수 있습니다. 이것은 데이터를 처리할 때 문제를 일으키는 주요 원인 중 하나입니다. 누락된 항목은 대부분 NaN(Not a Number)과 같은 값으로 표시됩니다.
Pandas에서는 `isnull()`과 `fillna()` 함수를 이용하여 누락된 항목을 처리할 수 있습니다.
```python
# 누락된 항목 개수 확인
df.isnull().sum()
# 전용면적이 NaN인 경우 0으로 대체
df['전용면적'] = df['전용면적'].fillna(0)
```
위 코드는 `isnull()` 함수를 이용해 누락된 항목 개수를 확인하고(`sum()` 함수), `fillna()` 함수를 이용해 `전용면적`이 누락된 경우 0으로 대체하는 코드입니다.
2. 중복 데이터 처리
데이터에 중복된 항목이 포함될 수 있습니다. 이 경우 이러한 중복 항목을 찾아 처리할 필요가 있습니다.
이를 처리하기 위해 Pandas에서는 `duplicated()`와 `drop_duplicates()` 함수를 제공합니다.
```python
# 중복된 행 개수 확인
sum(df.duplicated())
# 전체 행 중 중복된 행 제거
df = df.drop_duplicates()
```
위 코드는 `duplicated()` 함수를 이용해 중복된 행 개수를 계산하고, `drop_duplicates()` 함수를 이용해 중복된 행을 제거하는 코드입니다.
3. 이상치(Outlier) 처리
이상치는 데이터의 분포와 일치하지 않는 것입니다. 이를 처리하는 방법 중 하나는 이상치를 가지고 있는 항목을 삭제하는 것입니다.
```python
# 거래금액이 80억 이상인 데이터 제거
df = df[df['거래금액'] < 800000000]
```
위 코드는 `거래금액`이 80억 이상인 데이터를 제거하는 코드입니다.
결론
이상으로 데이터 전처리에 대한 기초적인 내용을 알아보았습니다. 누락된 데이터, 중복된 데이터, 이상치와 같은 것들은 데이터 분석에서 문제를 일으키므로 이러한 데이터를 처리하는 것은 매우 중요합니다. 데이터 전처리는 데이터 분석의 성공을 위한 매우 중요한 과정입니다. Pandas에서 제공하는 다양한 함수를 활용하면 이러한 데이터를 쉽게 처리할 수 있습니다. 데이터 전처리는 데이터 분석의 첫 번째 단계입니다. 데이터를 정확하고 효과적으로 처리하면 보다 정확한 분석 결과를 얻을 수 있습니다.
반응형
'파이썬' 카테고리의 다른 글
| Pandas의 `groupby` 함수 사용 방법과 활용 예시 (0) | 2023.04.14 |
|---|---|
| BeautifulSoup 라이브러리의 find_all() 함수를 사용하여 웹 크롤링 데이터 추출하기 (0) | 2023.04.14 |
| 파이썬 pandas 라이브러리의 groupby 함수 활용 방법 (0) | 2023.04.14 |
| 파이썬에서 사용하는 Pandas 라이브러리의 .groupby() 함수 활용 방법에 대한 예시 코드 (0) | 2023.04.14 |
| 넘파이(Numpy)의 reshape() 함수를 사용하여 다차원 배열의 차원을 변경하는 방법 (0) | 2023.04.14 |