캘리포니어 집값 데이터
결측치를 포함하는 모든 행 제거 후 처음부터 순서대로 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% 는 행 14303
print(df2.shape, df2.shape[0]*0.7)
df3 = df2.iloc[:14303,:]
print(df3.shape)
문제 잘 보고 출력 형태 제대로 보기
q1은 0.25, 2는 0.5, 3은 0.75임
print(int(df3['housing_median_age'].quantile(0.25)))
19
연도별 나라별 유병률 데이터
2000년 데이터에 대해 국가 전체 유병률 평균 값보다 큰 값을 가진 국가 개수는?
# 숫자는 조건에 넣을 때 괄호 안 함
df_2000 = df[df['year']==2000]
df_2000
t = df_2000.T
print(t.shape)
print(t.head())
(194, 1)
1
year 2000.0
Afghanistan 0.0
Albania 132.0
Algeria 0.0
Andorra 138.0
f = t.iloc[1:,:]
m = f.mean()
print((f > m).sum().sum())
76
df
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 C85 S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 C123 S
survived를 데이터 프레임형식으로 가지고 오기
df.iloc[1:,1:2]
Survived
1 1
2 1
3 1
4 0
5 0
... ...
886 0
887 1
888 0
889 1
890 0
890 rows × 1 columns
survived의 값만 반환하고 싶다! -> 시리즈로 나오기
df.iloc[1:,1]
1 1
2 1
3 1
4 0
5 0
..
886 0
887 1
888 0
889 1
890 0
Name: Survived, Length: 890, dtype: int64
loc 인덱싱 사용
iloc 인덱싱은 위치기반이기 때문에 숫자만 가능 -> 문자열 사용 불가능
df.loc[1:,'Survived']
1 1
2 1
3 1
4 0
5 0
..
886 0
887 1
888 0
889 1
890 0
Name: Survived, Length: 890, dtype: int64
타이타닉 데이터
각 열의 결측치 비율 확인 후 결측치의 비율이 가장 높은 변수명을 구하시오
na = df.isna().sum()
print(na)
PassengerId 0
Survived 0
Pclass 0
Name 0
Sex 0
Age 177
SibSp 0
Parch 0
Ticket 0
Fare 0
Cabin 118
Embarked 2
dtype: int64
pandas.core.series.Series
argmax() 속성 중에서 가장 큰 값 찾기
그 값의 인덱스 찾는..
print(na.index[na.argmax()])
way 2
na = df.isna().sum().sort_values(ascending=False)
print(isna.index[0])
Age
'빅데이터 분석기사 > 작업 유형 1 문제 풀이' 카테고리의 다른 글
상위 5퍼 = quantile(0.95), 시간에 따라 증가시 마지막(max) 선택, 상관계수는 절댓값 사용, 멀티인덱싱 (0) | 2023.06.21 |
---|---|
replace, 누적합 cumsum, 파라미터 method = 'bfill', standardization (0) | 2023.06.18 |
결측치 칼럼 제거 ~ isnull(), iloc.인덱싱 (0) | 2023.06.15 |
표준편차 std, 절댓값 abs (0) | 2023.06.15 |
왜도와 첨도 구하기(skew,kurt) & 로그변환 np.log1p (0) | 2023.06.15 |