728x90
반응형
SMALL
Sorting a Data Set
모델을 학습하기 전에, 훈련 및 전처리 중에 데이터 세트를 셔플하는 것이 항상 좋지만, 데이터 세트를 정렬할 수도 있다. 데이터 세트를 정렬하면 하나 이상의 열에 대해 오름차순 또는 내림차순으로 행을 정렬할 수 있다.
import os
import pandas as pd
import numpy as np
np.random.seed(42)
df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?'])
df = df.sort_values(by = 'name', ascending = True)
print(f"The first car is : {df['name'].iloc[0]}" )
pd.set_option('display.max_columns', 7)
pd.set_option('display.max_rows', 5)
display(df)
Grouping a Data Set
그룹화는 데이터 세트에 대한 일반적인 작업이다. SQL (Structured Query Language)은 이 작업을 "GROUP BY"라고 부른다. 프로그래머는 그룹화를 사용하여 데이터를 요약한다. 이 때문에 요약 행 수는 일반적으로 줄어들기 때문에 그룹화를 취소할 수 없다. 이러한 정보 손실로 인해 그룹화 전에 원래 데이터를 유지하는 것이 필수적이다.
다음 코드는 실린더를 평균 (mean)으로 그룹화합니다. 이 코드는 그룹화를 제공한다. 평균 외에도 합계 또는 카운트와 같은 다른 집계 함수를 사용할 수 있다.
import os
import pandas as pd
import numpy as np
np.random.seed(42)
df = pd.read_csv('auto-mpg.csv', na_values = ['NA', '?'])
pd.set_option('display.max_columns', 7)
pd.set_option('display.max_rows', 5)
g = df.groupby('cylinders')['mpg'].mean()
display(g)
cylinders
3 20.550000
4 29.286765
5 27.366667
6 19.985714
8 14.963107
Name: mpg, dtype: float64
이러한 평균값을 사전으로 사용하는 것이 유용할 수 있다.
d = g.to_dict()
d
{3: 20.55,
4: 29.28676470588235,
5: 27.366666666666664,
6: 19.985714285714284,
8: 14.963106796116506}
사전을 사용하면 개별 요소에 빠르게 액세스할 수 있다. 예를 들어, 6기통 차량의 평균을 빠르게 검색할 수 있다.
d[6]
19.985714285714284
아래 코드는 각 실린더 카운트와 일치하는 행의 수를 카운트하는 방법을 보여준다.
df.groupby('cylinders')['mpg'].count().to_dict()
{3: 4, 4: 204, 5: 3, 6: 84, 8: 103}
728x90
반응형
LIST
'DNN with Keras > Machine Learning' 카테고리의 다른 글
그룹화, 정렬 및 섞기 (1) (0) | 2023.07.27 |
---|---|
타겟 인코딩 (Target Encoding) (0) | 2023.07.27 |
원핫 인코딩 (One-Hot-Encoding) (0) | 2023.07.27 |
범주형 (Categorical) 및 연속형 (Continuous) 값 (0) | 2023.07.27 |
데이터프레임 저장 (0) | 2023.07.27 |