1. 오늘 배운것 : Pandas 라이브러리 이용하기
1) 라이브러리 불러오기
# 라이브러리 import
import pandas as pd
여기서 pandas를 pd로 줄여서 import 하는것은 관례라고 합니다.
2) 시리즈와 데이터프레임의 차이

ex) 시리즈 생성

ex) Data프레임 생성

3) 기본속성 활용하기
3-1. 데이터 크기 확인하기

3-2. 컬럼 정보 확인하기

3-3. 인덱스 정보 확인하기

3-4. 데이터 타입 확인하기

3-5. 컬럼명 변경하기

4) 데이터 불러오기
4-1. CSV 파일 불러오기
# CSV 파일 읽기 기본
df = pd.read_csv('파일경로/파일명.csv')
4-2. Excel 파일 불러오기
# Excel 파일 읽기
df = pd.read_excel('파일경로/파일명.xlsx')
4-3. 데이터 전체 정보 확인

여기서 가운데 Non-Null count는 결측치가 아닌 것들의 수 입니다. 즉 891개의 엔트리중 891개의 non-null 이 표시되면 결측치가 없다는것입니다.
4-4. 기본 통계 확인

5) 데이터 불러오기 및 기본 탐색
| 속성(Attribute) | ⊙ 객체가 가지고 있는 정보나 특성을 나타냄 ⊙ 괄호 ()없이 사용 ⊙ 데이터의 현재 상태나 특성을 보여줌 |
| 메서드(Method) | ⊙ 객체가 수행할 수 있는 동작이나 기능을 나타냄 ⊙ 괄호 ()와 함께 사용 ⊙ 데이터에 대해 특정작업을 수행 |
5-1. 속성의 대표적인 속성들
- index: index (기본 값으로 RangeIndex)
- columns: column 명
- values: numpy array형식의 데이터 값
- dtypes: column 별 데이터 타입
- T: DataFrame을 전치(Transpose)
- shape :데이터 형
5-2. 대표적인 메서드
- 조회 및 탐색: 데이터를 탐색하고, 정보를 얻기 위한 메서드입니다.
예를 들어, head(), tail(), describe(), info() 등이 있습니다. - 데이터 선택 및 필터링: 특정 조건에 맞는 데이터를 선택하거나 필터링하기 위한 메서드입니다.
loc[ ], iloc[ ], query(), filter() 등이 여기에 속합니다. - 데이터 조작 및 변형: 데이터를 추가, 삭제, 수정하거나 특정 조건에 맞게 변형하는 메서드입니다.
append(), drop(), rename(), melt(), pivot() 등이 있습니다. - 정렬 및 그룹화: 데이터를 특정 기준에 따라 정렬하거나 그룹화하기 위한 메서드입니다.
sort_values(), sort_index(), groupby() 등이 해당됩니다. - 결합 및 병합: 두 개 이상의 데이터프레임을 결합하거나 병합하기 위한 메서드입니다.
concat(), merge(), join() 등이 있습니다. - 결측치 처리: 데이터프레임 내 결측치(누락된 데이터)를 처리하기 위한 메서드입니다.
isnull(), notnull(), fillna(), dropna() 등이 있습니다. - 통계 및 계산: 데이터의 기술 통계를 계산하거나 데이터에 대한 수학적 연산을 수행하는 메서드입니다.
mean(), median(), sum(), std(), corr() 등이 포함됩니다. - 변형 및 재구성: 데이터프레임의 구조를 변형하거나 데이터를 재구성하기 위한 메서드입니다.
pivot(), pivot_table(), stack(), unstack() 등이 있습니다. - 시계열 데이터 처리: 시계열 데이터를 처리하기 위한 특수 메서드 집합입니다.
resample(), asfreq(), rolling() 등이 포함됩니다.
5-3. 단일컬럼 선택
# 하나의 컬럼 선택 (Series 반환)
names = titanic['Name']
print("선택된 데이터 타입:", type(names))
print("처음 5개 이름:")
print(names.head())
5-4. 여러 컬럼 선택

5-5. 데이터 행 선택


5-6. iloc 사용(위치기반)


5-7. 조건부 데이터 선택


여기서 결측치가 아닌 데이터를 선택하려면 .notna() 를 붙여주면됩니다.
age_not_null = titanic[titanic['Age'].notna()]
+ 인덱스를 관리할때도 끝에 .reset을 붙여주면 인덱스가 다시 정렬됩니다.
6) 데이터 변경 및 생성
6-1. numpy를 이용한 조건부 컬럼 생성
import numpy as np
# 성인/아동 구분
titanic['Is_Adult'] = np.where(titanic['Age'] >= 18, 'Adult', 'Child')
print("성인/아동 분포:")
print(titanic['Is_Adult'].value_counts())

6-2. 데이터의 정렬
# 나이순으로 정렬
age_sorted = titanic.sort_values('Age')
print("나이순 정렬 (어린 순):")
print(age_sorted[['Name', 'Age']].head())
