빅데이터 분석기사/작업 유형 1 문제 풀이 10

변수대로, 디폴트는 내림차순, datetime 변경, merge, np.where()

새로 변수 만들었음(head) -> head 에 그대로 조건을 넣고 추출해야 함 # 나이 순(내림차순)으로 정렬 df = df.sort_values('age', ascending=False).reset_index(drop=True) #print(df) # head로 만들었으니까 계속 쭉 이거로 조건에 대한 수치를 추출해야함 # 그렇지 않으면 head = df.head(20) head['f1'] = head['f1'].fillna(head['f1'].median()) cond = (head['f4']=='ISFJ') & (head['f5'] >= 20) print(head[cond]['f1'].mean()) 내림차순 디폴트값 -> 내림인지 오름이지 잘 확인하기 내림차순 -> ascending = True ..

상위 5퍼 = quantile(0.95), 시간에 따라 증가시 마지막(max) 선택, 상관계수는 절댓값 사용, 멀티인덱싱

Minmax quantile 헷갈릴 수도 있으나!! 가로막대그래프를 그렸을 때 오른쪽으로 갈수록 숫자가 커짐 -> 상위 5퍼는 0.95를 의미함 정규화 from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() scaled = scaler.fit_transform(df[['f5']]) top, down = scaled.quantile([0.95,0.5]) print(int(top, down)) 시간이 지남에 따라 점점 접종률이 증가함 groupby 썼으면 해당하는 통계함수 뭐 쓸건지 고민해야 함! 시간이 지남(오래됨, 숫자 증가함) -> 가장 마지막이 country의 백신률을 알 수 있음 df2 = df.groupby(country).m..

replace, 누적합 cumsum, 파라미터 method = 'bfill', standardization

T1-7 df[df['f4']=='ESFJ'] 엑세서 str 은 데이터 프레임에 안됨 df['f4'].replace('ESFJ','ISFJ') unsupported operand type(s) for &: 'str' and 'str' 오류시 =로 했는지 체크 -> 데이터 처음부터 다시 런타임하기 con1 = df['city']=='경기' con2 = df['f4']=='ISFJ' result = df[con1&con2]['age'].max() print(int(result)) T1-8 df2 = df[df['f2']==1]['f1'].cumsum() fillna(method='bfill') : back 값 채우기 pad : 앞 forward 같으로 채우기 -> 파라미터 암기 힘드니까 help(df.fil..

빅데이터분석기사 기출 3회 유형 1 문제풀이

캘리포니어 집값 데이터 결측치를 포함하는 모든 행 제거 후 처음부터 순서대로 70% 추출 housing_median_age 컬럼의 사분위수 q1 구하시오 정수형 제출 print(df.head(3)) print(df.shape) #total_bedrooms 결측치 존재 print(df.isna().sum()) df2 = df['total_bedrooms'].isnull() df2 = df.dropna() print(df2.isna().sum()) 특정열 제거랑 모든 열 제거랑 둘 다 기억하기 # 특정 열만 제거 df2 = df[~df['total_bedrooms'].isnull()] # 모든 열의 결측치 제거하는 함수 df2 = df.dropna() print(df2.isna().sum()) # 0.7% ..

결측치 칼럼 제거 ~ isnull(), iloc.인덱싱

# f1컬럼 결측치 제거 # temp[(temp['city']=='경기') & (temp['f2']==0)]['f1'] 완전 아님!!!! # df['f1'] = df[~df['f1'].isnull()] 이거 아님 - df = df[~df['f1'].isnull()] print(df.isna().sum()) city가 경기, f2가 0임 temp = df.groupby(['city','f2']).sum() print(temp) age f1 f5 city f2 경기 0 720.4 833.0 943.944823 1 696.0 670.0 657.241212 2 239.0 311.0 362.300060 대구 0 387.0 527.0 183.199568 1 217.6 235.0 241.333824 2 140.0 2..

표준편차 std, 절댓값 abs

'f4'컬럼 값이 'ENFJ'와 'INFP'인 'f1'의 표준편차 차이를 절대값으로 구하시오 way1 abs는 pandas도 존재함 f1 칼럼인덱싱 한 번에 하면 더 좋음 df[df['f4']=='ENFJ'] df[df['f4']=='ENFJ']['f1'].std() enfj = df[df['f4']=='ENFJ']['f1'].std() infp = df[df['f4']=='INFP']['f1'].std() print(np.abs(enfj - infp)) way2 ENFJ = df[df['f4']=='ENFJ'] INFP = df[df['f4']=='INFP'] # 조건에 맞는 f1의 표준편차 (ENFJ, INFP) E_std = ENFJ['f1'].std() I_std = INFP['f1'].std()..

np의 floor, ceil, trunc

np.floor(df['age']): 'age' 열의 값들을 소수점을 버린 값으로 대체합니다. np.floor() 함수는 소수점 아래를 버리는 연산을 수행합니다. 예를 들어, 3.7은 3으로 변환됩니다. df['age'] - np.floor(df['age']): 'age' 열의 원래 값에서 소수점을 버린 값을 뺍니다. 이렇게 하면 소수 부분만 남게 됩니다. 예를 들어, 3.7에서 3을 빼면 0.7이 남습니다. (df['age'] - np.floor(df['age'])) != 0: 이 식은 소수 부분이 0이 아닌지를 확인합니다. 결과적으로, 소수 부분이 있는 값들은 True를 반환하고, 소수 부분이 0인 정수 값들은 False를 반환합니다. df[(df['age'] - np.floor(df['age']))..

11~20번 풀이 drop_duplicates('', keep='last'), reset_index(drop=True)

유튜브 공범컨텐츠 동영상 데이터 import pandas as pd channel =pd.read_csv('https://raw.githubusercontent.com/Datamanim/datarepo/main/youtube/channelInfo.csv') video =pd.read_csv('https://raw.githubusercontent.com/Datamanim/datarepo/main/youtube/videoInfo.csv') 11 # q11 video['ct'] = pd.to_datetime(video['ct']) answer = video['videoname'].value_counts() print(answer) 공범 EP1 3492 공범 EP2 3204 공범 EP3 2568 공범 EP4 2..

1번 ~10번 풀이 drop_duplicates, size, day_name, weekday

1 answer =list(df.loc[df.channelId.isin(df.channelId.value_counts().head(10).index)].channelTitle.unique()) print(answer) 2 answer = list(df[df['dislikes'] > df['likes']].channelTitle.unique()) print(answer) ['핫도그TV', 'ASMR 애정TV', '하얀트리HayanTree', '양팡 YangPang', '철구형 (CHULTUBE)', '왜냐맨하우스', '(MUTUBE)와꾸대장봉준', '오메킴TV', '육지담', 'MapleStory_KR', 'ROAD FIGHTING CHAMPIONSHIP', '사나이 김기훈', '나혼자산다 STUDIO',..