IT/가짜연구소 스터디

[DA] 4-1. Importing Data from Flat Files

Millennials 2022. 9. 12. 20:38
해당 내용은 Datacamp의 Data engineering track을 정리했습니다.
4. Streamlined Data Ingestion with pandas의 chapter 1에 대한 내용입니다.

# 1. Introduction to flat files

이 과정에서는 데이터를 수집하는 것에 초점을 두고 수업이 진행될 것입니다. 특히 Pandas를 이용해서 데이터를 쉽게 로드하고 조작 할 수 있습니다.

pandas의 핵심은 데이터 프레임 입니다. 데이터 프레임은 행(Index) 열(Column)로 이루어진 2차원 데이터 구조입니다.

- Flat Files 

플랫 파일은 단순하고 데이터를 저장하고 공유하는데 널리 사용된 포멧입니다. 일반적으로 CSV파일로 이루어지며 ,로 구분되어집니다.

pandas 에서는 read_csv() 함수를 이용하여 플랫파일을 읽어들입니다.

구분자가 ' , ' 가 아닌경우 sep 을 argument로 넣어서 구분자를 설정 가능합니다.

## 1.1 Get data from CSVs

## 1.2 Get data from other flat files

# 2. Modifying flat file imports

데이터의 양을 조절해서 가져오는 방법을 실습해봅시다.

- Column 수의 조절

위와 같이 column수가 너무 많을 때 usecols 를 argument로 넣어서 가져올 컬럼의 가짓수를 제한 할 수 있습니다.

- index(row)의 조절

index는 nrows 와 skiprows 를 argument로 넣어서 가져올 양을 조절할 수 있다.

위의 코드의 경우 index 1000까지는 skip되고 row를 500개 가져온다. 즉 1000~ 1500 까지의 row를 가져오게 되는 것이다.

- 열 이름 지정

열 이름은 names argument를 지정해서 가져오면 된다.

## 2.1 Import a subset of columns

## 2.2 Import a file in chunks

# 3. Handling errors and missing data

이번에는 데이터에 오류가 있는 경우 어떻게 조정할 것인가를 다룹니다.

- Data types error

dtype 을 argument로 넣고 바꾸려는 column과 type을 dict 형태로 넣습니다.

 

- Missing Data

판다스에는 isnull() 메서드와 같이 Null 을 찾아내고 값을 넣는 메서드가 잘 생성되어있습니다. 그런데 더미 데이터로 공백(Null) 대신 0이 들어가 있는 경우도 있습니다. 이 0 을 missing data로 처리해야한다고 했을 때 어떻게 해야할지 아래 예제로 알아볼 수 있습니다.

위 예제에서 0으로 처리되었던 zipcode 컬럼의 값들이 NaN으로 missing value 취급이 되었다는 것을 알 수 있습니다.

 

- Lines with Errors

가끔 csv 파일중에 손상된 라인이 있어서 행 열 간격이 맞지 않게 되어 csv파일을 읽지 못하는 경우가 있습니다. 이런 경우 error_bad_lines=False 로 손상된 라인은 건너뛰도록 할 수 있습니다.

 

## 3.1 Specify data types

## 3.2 Set custom NA values

## 3.3 Skip bad data

 

반응형