Matplotlib = 데이터를 시각화하기 위한 파이썬의 라이브러리
df.plot(x='컬럼a', y='컬럼b')
▶ x축과 y축을 각각 지정한 컬럼 a와 b를 토대로 그래프 제작
그래프 스타일 설정
df.plot(x='컬럼a', y='컬럼b', color='red', linestyle='--', marker='o', label='DATA')
축 제목 입력
ax = df.plot(x='컬럼a', y='컬럼b)
ax.legend(['DATA'])
ax.set_xlabel('x-axis') ▶ x축 이름 설정
ax.set_ylabel('y-axis') ▶ y축 이름 설정
ax.set_title('title') ▶ 그래프 전체 제목 설정
ax.text(x축,y축, 'Text', fontsize=10) ▶ x축과 y축으로 지정한 곳에 텍스트 설정
그래프 사이즈 변경
plt.figure(figsize=(가로,세로)) ▶ 사이즈에 따라
3회차 세션
데이터 타입 변환 및 날짜 처리
2. pd.to_numeric() 활용 (N/A 같은 변환 불가능한 값을 자동으로 NaN으로 바꿔줌)
N/A : 알 수 없음. NULL과 같다.
NaN : 숫자여야 하지만 값이 없음. 결측치
EX)
df['age_clean'] = pd.to_numeric(df['age'], errors='coerce')
print("pd.to_numeric() 변환 결과:")
print(df[['age', 'age_clean']])
3. 콤마가 포함된 숫자 처리
EX)
df['income_clean'] = df['income'].str.replace(',', '').astype(float)
print("\n수입 변환 결과:")
print(df[['income', 'income_clean']])
4. map() 활용
EX)
df['is_premium_bool'] = df['is_premium'].map({'Yes': True, 'No': False})
print("불리언 변환 결과:")
print(df[['is_premium', 'is_premium_bool']])
df['is_premium'].unique()로 기존 값을 알 수 있음.
- 날짜 처리
1. to_datetime() 활용
EX)
orders_df['delivery_date_clean'] = pd.to_datetime(orders_df['delivery_date'])
print("배송 날짜 변환:")
print(orders_df[['delivery_date', 'delivery_date_clean']].head(3))
2. 날짜 간 계산
배송 소요 시간 계산 (일 단위)
EX)
orders_df['delivery_days'] = (orders_df['delivery_date_clean'] - orders_df['order_date_clean']).dt.days
print("배송 소요 시간:")
print(orders_df[['order_id', 'order_date_clean', 'delivery_date_clean', 'delivery_days']])
dt.days 속성을 활용하면 날짜 차이를 일 단위로 계산 가능
dt.year = 년도 / dt.month = 월 / dt.day_name() = 요일
**개인과제 문제 풀이
**문제 1-1 : 데이터 전처리 (1번째 세션)
요구 사항
CSV 파일 읽기 및 데이터 기본 확인
CSV 파일을 읽어 DataFrame(df) 을 생성합니다.
▶ CSV 파일 내 드라이브에 넣은 후 불러오기
▶ df = pd.read_csv('파일 경로')
= df = pd.read_csv('/marketing_campaign_data.csv')
데이터셋 미리보기 : df의 상위 5개 행을 출력하세요.
▶ 파이썬에서 상위 행을 보려면 .head(n) 활용. n에 몇 개까지 출력할지 작성
= df.head(5)
! 하위부터 보려면 .tail()
데이터 정보 : 컬럼명, 데이터 타입, 결측치 등 기본 정보를 출력하세요.
▶ 데이터 정보 = information. .info() 활용
= df.info()
기술 통계 : 평균, 표준편차, 최소/최대값 등 기술 통계를 출력하세요.
▶ 평균, 표준 편차 등의 통계를 보려면 .describe() 활용
= df.describe()
결측값 개수 : 각 열별로 결측값이 몇 개인지 출력하세요.
▶ 결측값 = null.
= df.isnull() + 개수를 세는 함수 .sum()
중복 행이 몇 개인지 출력하세요
▶ 중복 확인하는 함수 .duplicated()
= df.duplicated().sum()