빅데이터분석기사/작업형1 9

[작업형1] 조건 / 평균 / bmi / 절대값 / 내림차순 구하기

// 퇴근후딴짓 님의 강의를 참고하였습니다. // Dataset : 문제1) 종량제 봉투 종류가 '규격봉투'이고, 종량제 봉투 용도가 '음식물쓰레기'인 2L가격 평균을 출력하시오. (단, 가격0 제외, 반올림 후 정수 출력) import pandas as pd df = pd.read_csv("5-1price.csv") df cond1 = df['2ℓ가격'] != 0 cond2 = df['종량제봉투종류'] == "규격봉투" cond3 = df['종량제봉투용도'] == "음식물쓰레기" df = df[cond1 & cond2 & cond3] print(round(df['2ℓ가격'].mean())) 실행 결과 : 118 → '2L가격'이 '0원'이 아닌 조건1 / '종량제봉투종류'가 '규격봉투'인 조건2 / '..

[작업형1] 사분위수 / 절대값 / 조건 / datetime 변환 구하기

// 퇴근후딴짓 님의 강의를 참고하였습니다. // Dataset : 문제1) age 컬럼의 3사분위수와 1사분위수의 차를 절대값으로 구하고, 소수점 버려서, 정수로 출력하시오. import pandas as pd df = pd.read_csv("basic1.csv") df result = abs(df['age'].quantile(0.25) - df['age'].quantile(0.75)) print(int(result)) 실행 결과 : 50 → quantile() 함수를 사용해 3분위수와 1분위수를 구한 후 abs() 함수를 사용해 절대값을 씌워준다. → 정수로 출력하기 위해 int() 함수를 사용해 출력하면 50이 나온다. 문제2) (loves반응+wows반응)/(reactions반응) 비율이 0.4보..

[작업형1] 평균 / 행(row)별 합 / 고유값 수 구하기

// 퇴근후딴짓 님의 강의를 참고하였습니다. // 시험환경 : https://bit.ly/3H64wpG 문제1) 앞에서 부터 50%의 데이터와 'target'컬럼이 0 값을 가진 데이터만 활용해 'proline'컬럼의 평균을 구하시오. (소수점 절사(버림), 정수형 출력) # 시험환경 세팅 import pandas as pd from sklearn import datasets dataset = datasets.load_wine() df = pd.DataFrame(dataset['data'], columns=dataset['feature_names']) df['target'] = dataset['target'] df.to_csv("data1-1.csv", index=False) # 데이터 파일 읽기 예제 ..

[작업형1] 평균 / 그룹합 / datetime 변환 구하기

// 퇴근후딴짓 님의 강의를 참고하였습니다. // Dataset : 문제7) index '2001' 데이터(행)의 평균보다 큰 값의 수와 index '2003' 데이터(행)의 평균보다 작은 값의 수를 더하시오. # 데이터 생성 import pandas as pd import random df = pd.DataFrame() for i in range(0, 5): list_box = [] for k in range(0, 200): ran_num = random.randint(1,200) list_box.append(ran_num) df[i+2000] = list_box df = df.T df.to_csv("data.csv", index=True) → 7번 문제에서 사용할 data.csv 파일을 만드는 코드이..

[작업형1] 결측치 대체 / 사분위수 / 표준편차 구하기

// 퇴근후딴짓 님의 강의를 참고하였습니다. // Dataset : 문제4) 주어진 데이터에서 자료형(type)이 object인 컬럼은 삭제하고, 결측치는 0으로 대체한다. 행 단위로 합한 다음 그 값이 3000보다 큰 값의 데이터 수를 구하시오 ('age', 'f1', 'f2', 'f5', 'views'의 각 행별 합) import pandas as pd df = pd.read_csv("members.csv") cols = df.select_dtypes(include='object').columns cols df = df.drop(cols, axis=1) df.head() → select_dtypes(include)를 통해 object인 컬럼명을 뽑아온 후 drop을 통해 제거가 가능하다. cols =..

[작업형1] 결측치 대체 / 사분위수 구하기

// 퇴근후딴짓 님의 강의를 참고하였습니다. // Dataset : 문제1) f1컬럼의 결측치는 중앙 값으로 대체하고, 나머지 결측치가 있는 데이터(행)을 모두 제거하고, 앞에서부터 70% 데이터 중 views 컬럼의 3사분위 수에서 1사분위 수를 뺀 값을 구하시오. (단, 데이터 70% 지점은 정수형(int) 변환) import pandas as pd df = pd.read_csv("members.csv") print(df.isnull().sum()) df['f1'] = df['f1'].fillna(df['f1'].median()) print(df.isnull().sum()) 실행 결과 : id 0 age 0 city 0 f1 31 f2 0 f3 28 f4 0 f5 0 subscribed 0 views..

[작업형1] 결측치 / 사분위수 / 데이터 수 구하기

// 퇴근후딴짓 님의 강의를 참고하였습니다. // Dataset : 1. 데이터 불러오기 import pandas as pd df = pd.read_csv("members.csv") df → 100개의 행과 10개의 열로 이루어져있는 데이터셋이다. 문제1) 결측치 데이터(행)을 제거하고, 앞에서부터 70% 데이터만 활용해, 'f1' 컬럼 1사분위 값을 구하시오. print(df.isnull().sum()) print(df.shape) 실행 결과 : id 0 age 0 city 0 f1 31 f2 0 f3 28 f4 0 f5 0 subscribed 0 views 4 dtype: int64 (100, 10) → df의 결측치 확인 시 f1컬럼에 31개, f1컬럼에 28개, view 컬럼에 4개가 있는 것을 ..

[작업형1] 대체 및 평균값 / 표준편차 / 이상치 구하기

// 퇴근후딴짓 님의 강의를 참고하였습니다. // Dataset : 1. 데이터 불러오기 import pandas as pd df = pd.read_csv("members.csv") df → 100개의 행과 10개의 열로 이루어져있는 데이터셋이다. 문제1) 'views' 컬럼 상위 10개 데이터를 상위 10번째 값으로 대체한 후 'age'컬럼에서 80이상인 데이터의 'views'컬럼 평균값을 구하시오. # views 컬럼 내림차순 정렬 후 상위 10개 불러오기 df = df.sort_values('views', ascending=False) df.head(10) → 상위 10개 데이터를 구하기 위해 내림차순(ascending=False)으로 정렬 후 10개의 데이터를 불러온다. # 상위 10번째 값 구하..

[작업형1] 레코드(row) 수 구하기

// 퇴근후딴짓 님의 강의를 참고하였습니다. // 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('MinM..