// 퇴근후딴짓 님의 강의를 참고하였습니다. //
Dataset :
문제) 자동차 데이터셋에서 qsec컬럼을 Min-Max Scale로 변환 후 0.5보다 큰 값을 가지는 레코드(row) 수를 구하시오.
1. 데이터 불러오기
import pandas as pd
def load_data():
return pd.read_csv("mtcars.csv")
data = load_data()
data.head()
2. 스케일링 / MinMaxScaler, minmax_scale, 사용자 정의 함수 3가지 활용
# MinMaxScaler
from sklearn.preprocessing import MinMaxScaler
data = load_data()
scaler = MinMaxScaler()
print('MinMax Scale 변환 전: \n', data['qsec'].head())
data['qsec'] = scaler.fit_transform(data[['qsec']])
print('MinMax Scale 변환 후: \n', data['qsec'].head())
# minmax_scale
from sklearn.preprocessing import minmax_scale
data = load.data()
print('MinMax Scale 변환 전: \n', data['qsec'].head())
data['qsec'] = minmax_scale(data['qsec'])
print('MinMax Scale 변환 후: \n', data['qsec'].head())
# min-max 함수
def my_minmax(data):
data = (data - min(data)) / (max(data) - min(data))
return data
print('MinMax Scale 변환 전: \n', data['qsec'].head())
data['qsec'] = my_minmax(data['qsec'])
print('MinMax Scale 변환 후: \n', data['qsec'].head())
→ 스케일링 3가지 방법 모두 결과가 같다.
3. 조건 (0.5보다 큰 값) / sum, len, count 3가지 활용
data['qsec'] > 0.5
실행 결과 :
0 False
1 False
2 False
3 True
4 False
5 True
6 False
7 True
8 True
9 False
10 True
11 False
12 False
13 False
14 False
15 False
16 False
17 True
18 False
19 True
20 True
21 False
22 False
23 False
24 False
25 True
26 False
27 False
28 False
29 False
30 False
31 False
Name: qsec, dtype: bool
# sum
cond = data['qsec'] > 0.5
print(sum(cond))
실행 결과 : 9
→ sum : True(1) 값을 더함
# len
cond = data['qsec'] > 0.5
print(len(data[cond]))
실행 결과 : 9
→ len : 행의 수
# count
cond = data['qsec'] > 0.5
print(data[cond].count())
실행 결과 :
model 9
mpg 9
cyl 9
disp 9
hp 9
drat 9
wt 9
qsec 9
vs 9
am 9
gear 9
carb 9
dtype: int64
print(data[cond]['qsec'].count())
실행 결과 : 9
→ count : NaN이 아닌 (컬럼별) 행의 수
→ count의 경우 컬럼명을 지정해 줘야한다.
'빅데이터분석기사 > 작업형1' 카테고리의 다른 글
[작업형1] 평균 / 그룹합 / datetime 변환 구하기 (0) | 2023.06.17 |
---|---|
[작업형1] 결측치 대체 / 사분위수 / 표준편차 구하기 (0) | 2023.06.17 |
[작업형1] 결측치 대체 / 사분위수 구하기 (2) | 2023.06.17 |
[작업형1] 결측치 / 사분위수 / 데이터 수 구하기 (0) | 2023.06.17 |
[작업형1] 대체 및 평균값 / 표준편차 / 이상치 구하기 (0) | 2023.06.15 |