본문 바로가기

제로베이스/Python

Python 8. Statistics

파이썬 기초 익히기8

 

Q95. 상위 10개의 행을 출력해라

Ans = df.head(10)
Ans

 

Q96. 'Unnamed: 0' and 'Id'를 제거하라

# Solution1) 컬럼을 삭제해버리면 다시 복구 안됨
# deletes 'Unnamed: 0'
del df['Unnamed: 0']

# deletes 'Id'
del df['Id']

df.head()

# Solutio2) 필요한 데이터만 뽑아서 추출
df2 = df[['Name', 'Year', 'Gender', 'State', 'Count']]

## 원본데이터는 최대한 삭제하지 않는 게 좋음

 

Q97. 데이터셋에 남성 이름이 더 많나요, 아니면 여성 이름이 더 많나요?

df['Gender'].value_counts()

 

Q98. 데이터셋을 이름별로 그룹화여 'Count'를 Sum하고, names라는 변수에 할당하세요. (상위 5개의 행만 출력)

names = pd.DataFrame(df.groupby('Name')['Count'].sum())
names.sort_values(by=['Count'],ascending=0).head(5)

## df.groupby('Name')['Count'].sum()는 series 형태 -> pd.DataFrame로 데이터프레임화
## ## sort_values에서 by를 쓰는 게 정석
## ascending = 0 내림차순 /1은 오름차순

 

Q99. 서로 다른 이름은 총 몇개인가요?

df.Name.nunique()

 

Q100. 가장 많이 등장한 이름은?

## names는 이름을 기준으로 count한 df(99번문제)
names[names.Count == names.Count.max()]

 

Q101. 가장 적게 등장한 이름은 몇개인가요?

#1
len(names[names.Count == names.Count.min()])

#2
names[names.Count == names.Count.min()].value_counts()
## 최저 개수는 5개이고 5번 나온 이름이 2578개(동순위)

 

Q102. 중앙값(median)의 개수를 가지고 있는 이름은?

names[names.Count == names.Count.median()]

 

Q103. 이름 개수(Count)의 표준편차를 구하시오

names.Count.std()

 

Q104. names의 평균, 최소, 최대, 표준편차, 4분위수를 계산하시오

names.describe()

'제로베이스 > Python' 카테고리의 다른 글

Python 10. Visualization  (0) 2024.07.01
Python 9. Series & DataFrame  (0) 2024.07.01
Python 7. Merge, Concat  (0) 2024.06.29
Python 6. Pivot  (0) 2024.06.29
Python 5. Time_Series  (0) 2024.06.29