본문 바로가기
Programming 개발은 구글로/기타 정보

[WEB+AI] 8일차 파이썬 데이터 분석(추가 내용)

by 40대직장인 2024. 10. 24.

파이썬 데이터 분석(추가 내용 정리)

 

강사: 이주화님

 

1. CSV 파일 입출력

data = pd.read_csv('train.csv') // default dataset

# 처음 n줄 출력, Default=5
data.head(5)

# 끝 n줄 출력, Default=5
data.tail()

# 데이터프레임의 컬럼 타입, null 개수, 데이터 분포 등 정보 확인
data.info()

 

2. 데이터 분석 및 처리

# 'Pclass' 카운트
data['Pclass'].value_counts()

# index 기준으로 오름차순 정렬
s = data['Pclass'].value_counts()
s.sort_index()

# value 기준으로 내림차순 정렬
s.sort_values(ascending=False)

# 승객 나이 평균
age_mean = data['Age'].mean()

 

3. 조건식

# 18세 미만의 아이 생존 비율을 구하자.
survivedChildren=data[(data['Survived']==1) & (data['Age']<=17)]

# 객실 등급별 생존자 수
survivedPclass = data[data.Survived == 1]['Pclass'].value_counts()

# 항구 별 탑승자 수(생존자 + 사망자 수)
embarked = data['Embarked'].value_counts()

 

4. 그룹화: groupby() 사용

# 성별 나이 평균
print(data['Age'].groupby(data['Sex']).mean())

 

5. 결측치(비어 있는 데이터) 채우기: fillna()

#Age, Cabin, Embarked에 비어진 값이 있음을 확인
data.info()  

# 결측치 개수 확인
data['Age'].isnull().sum()

# 'Age'에 중간값으로 채우기
data['Age'].fillna(data['Age'].median(), inplace=True)

# idmxmax(): 최대값을 가지는 index label 반환
data['Embarked'].fillna(data['Embarked'].value_counts().idxmax(), inplace=True)

 

7. 결측치가 있는 행, 열 삭제

# dropna() : 결측값 삭제
# axis = 0 결측값이 있는 행 전체 삭제
# axis = 1 결측값이 있는 열 전체 삭제
data.dropna(axis=1, inplace=True)

 

8. 시각화

# plot 내장 함수로 차트 생성 (kind='line|bar|bath|hist|pie|scatter')
survived = data[data.Survived == 1]['Sex'].value_counts()
survived.plot(kind='bar')

 


출처: AI Hub 교육과정 - WEB+AI (위 내용이 문제가 된다면 댓글에 남겨주세요. 바로 삭제조치하도록 하겠습니다.)

 

 

댓글