1. 데이터 전처리
분석에 적합하게 데이터를 가공하는 작업.
데이터 분석에서 가장 많은 시간이 걸리는 작업.
Data Manipulation(데이터 가공) / Data Handling(데이터 핸들링) / Data Cleanging(데이터 클리닝)이라 불린다.
2. Prettytable
pip install prettytable
3. DataFrame Source
grade_dic = {
'국어': [98, 88, 92, 63, None],
'영어': [None, 90, 70, 60, 50],
'수학': [88, 62, None, 31, None],
'과학': [64, 72, None, 70, 88]
}
import pandas
from pandas import DataFrame
from prettytable import PrettyTable
df = DataFrame(grade_dic, index=['코난', '뭉치', '아름', '세모', '장미'])
if isinstance(df, pandas.core.frame.DataFrame):
table = PrettyTable([''] + list(df.columns))
for row in df.itertuples():
table.add_row(row)
print(str(table))
else:
print(df)
+------+------+------+------+------+
| | 국어 | 영어 | 수학 | 과학 |
+------+------+------+------+------+
| 코난 | 98.0 | nan | 88.0 | 64.0 |
| 뭉치 | 88.0 | 90.0 | 62.0 | 72.0 |
| 아름 | 92.0 | 70.0 | nan | nan |
| 세모 | 63.0 | 60.0 | 31.0 | 70.0 |
| 장미 | nan | 50.0 | nan | 88.0 |
+------+------+------+------+------+
Process finished with exit code 0
4. 특정 열로 오름차순 정렬
inplace=True
원본 자체를 정렬
inplace=False
정렬되 결과를 리턴하고 원본 변화 없음(기본값)
df.sort_values('국어', inplace=True)
+------+------+------+------+------+
| | 국어 | 영어 | 수학 | 과학 |
+------+------+------+------+------+
| 세모 | 63.0 | 60.0 | 31.0 | 70.0 |
| 뭉치 | 88.0 | 90.0 | 62.0 | 72.0 |
| 아름 | 92.0 | 70.0 | nan | nan |
| 코난 | 98.0 | nan | 88.0 | 64.0 |
| 장미 | nan | 50.0 | nan | 88.0 |
+------+------+------+------+------+
Process finished with exit code 0
5. 특정 열로 내림차순 정렬
ascending=False
내림차순
ascending=True
오름차순
df.sort_values('국어', inplace=True, ascending=False)
+------+------+------+------+------+
| | 국어 | 영어 | 수학 | 과학 |
+------+------+------+------+------+
| 코난 | 98.0 | nan | 88.0 | 64.0 |
| 아름 | 92.0 | 70.0 | nan | nan |
| 뭉치 | 88.0 | 90.0 | 62.0 | 72.0 |
| 세모 | 63.0 | 60.0 | 31.0 | 70.0 |
| 장미 | nan | 50.0 | nan | 88.0 |
+------+------+------+------+------+
Process finished with exit code 0
6. 두 개 이상의 열을 기준으로 정렬
df.sort_values(['국어', '영어'], inplace=True)
국어 점수가 동일 할 경우 영어 점수로 정렬
7. 데이터 전 처리에서 수행 작업
- 행 / 열 추출
- 정렬
- 열 / 변수 추가
- 통계치 산출
- 나누기
- 열 / 행 합치기
'Python_Intermediate > Pandas' 카테고리의 다른 글
Data Preprocessing(데이터 전처리) - 열 추가, 삭제 (0) | 2019.05.04 |
---|---|
Data Preprocessing(데이터 전처리) - 행 추가, 삭제 (0) | 2019.05.04 |
Pandas Aggregate Function(Pandas 집계 함수) (0) | 2019.05.04 |
Pandas Basic(Pandas 기초) (0) | 2019.05.04 |
190504 09:25> Naver 실시간 검색어 20위 (0) | 2019.05.04 |