해당 내용은 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
'IT > 가짜연구소 스터디' 카테고리의 다른 글
[DA] 4-4. Importing JSON Data and Working with APIs (0) | 2022.09.13 |
---|---|
[DA] 4-3. Importing Data from Databases (0) | 2022.09.13 |
[DA]4-2. Importing Data From Excel Files (0) | 2022.09.13 |
[DA] 3-4. Case Study: DataCamp (0) | 2022.09.12 |