반응형
# 문제1
#결측치데이터 (행)을 제거하고, 앞에서부터 70% 데이터만 활용해, 'f1' 컬럼 1사분위값을 구하시오.
import pandas as pd
mem = pd.read_csv('data/members2.csv')
mem = mem.dropna(axis=0)
line = int(len(mem) * 0.7 )
mem = mem[:line]
# print(mem.describe()) # 57
mem = mem.sort_values(by='f1')
line = int(len(mem) * 0.25 )
print(mem.iloc[line]['f1'])
# 대상컬럼의 1사분위값 구하는 함수가 있음!!
# df['대상컬럼'].quantile(.25)
print(df['f1'].quantile(.25))
사분위수 구하는 데이터프레임 함수 외우기!
df['col'].quantile(.25)
########################################
# 문제2 데이터생성코드
import pandas as pd
import random
random.seed(2022)
df = pd.DataFrame()
for i in range(0,3):
list_box = []
for k in range(0,200):
ran_num = random.randint(1,200)
list_box.append(ran_num)
df[i+1999] = list_box
df = df.T
########################################
# 문제2
# 인덱스는 년도. 2000년 평균보다 큰 값의 데이터 수
# 내 풀이
# print(df.head())
new_df = df.T
# print(new_df.head())
# print(new_df.describe())
# print(new_df[2000].mean())
avg = new_df[2000].mean()
# print(new_df.shape, new_df[1999].shape )
print(sum(avg < new_df[2000]))
# 해답 1 # loc 활용
m = df.loc[2000].mean()
print(sum(df.loc[2000,:]>m))
# 해답 2 # transpose 활용
df = df.T
df[2000].mean() #컬럼의 평균
print(sum(df[2000] > m))
loc 사용이 여전히 멀게 느껴지는듯!!!!!!!!!!
loc[인덱스]
# 문제3
# 결측치가 제일 큰 값의 컬럼명
import pandas as pd
# 내 풀이
df = pd.read_csv('data/members2.csv')
print(df.isnull().sum())
# print(df.isnull().sum().max())
# print(df.columns)
# 어느 컬럼인지는 알겠으나, 하드코딩 없이 컬럼명 선택해내는게 어려웠음.
print("=====")
# 해답 - 방법1
# 데이터프레임의 인덱스를 선택하여 출력하는 방법
df = pd.read_csv('data/members2.csv')
df = df.isnull().sum()
df = df.sort_values(ascending=False)
print(df.index[0])
# 해답 - 방법2
# 인덱스를 일반 컬럼으로 만드는 방법
df = pd.read_csv('data/members2.csv')
df = df.isnull().sum()
df = df.reset_index()
print(df.loc[3,'index'])
df = df.sort_values(by=0,ascending=False)
print(df.iloc[0,0])
반응형
'IT,SW,Data,Cloud,코딩 > Python' 카테고리의 다른 글
20230612 복습문제 (0) | 2023.06.12 |
---|---|
20230611 빅분기 작업형1 모의문제 (0) | 2023.06.11 |
20230611 작업형1 모의문제1 (0) | 2023.06.11 |
20230611 빅분기 3회 실기 기출 작업형2 (0) | 2023.06.11 |
20230611 빅분기 2회 기출 작업형 2 - 분류 (0) | 2023.06.11 |
20230610 파이썬공부 - 작업형 1 실습 (0) | 2023.06.10 |
20230610 파이썬공부 - 작업형2 (0) | 2023.06.10 |
20230610 파이썬 공부 - 작업형1 (0) | 2023.06.10 |
댓글