안녕하세요,
데이터 분석을 공부하고 있는 여러분! 😊
오늘은 데이터 분석가를 위한 Right now, Polars 강의를 소개해드리려고 합니다.
Right now, Polars 강의 | The Oreum - 인프런
The Oreum | , [사진][사진]초급자를 위해 준비한[데이터 분석, 개발 · 프로그래밍] 강의입니다.Python 기반 데이터 분석 라이브러리 Polars의 기초 개념부터 간단한 데이터 처리 및 탐색적 데이터 분석
www.inflearn.com
저는 데이터 분석가를 꿈꾸고 있어, 이번 강의가 개설되자마자 바로 신청해서 수강해 봤어요! 💖
🎯 Polars란?
데이터 분석을 한다면 누구나 익숙한 Pandas, 하지만 때로는 속도가 느려서 답답했던 경험이 있지 않으신가요?
특히 대용량 데이터를 처리할 때 Pandas의 성능 한계를 느낄 수 있습니다.
바로 이 문제를 해결하는 것이 Polars입니다!
✅ Polars는?
- 빠르고 효율적인 데이터 프레임 라이브러리
- Rust로 개발되어 병렬 연산과 최적화가 뛰어남
- Lazy Execution(지연 실행) 지원으로 더 빠른 처리 속도 제공
- 메모리 효율적 관리, 대용량 데이터 분석에 강력한 성능 발휘
즉, Pandas보다 훨씬 더 빠르고, 대용량 데이터 처리에 적합한 라이브러리라고 할 수 있어요.
🎯 이 강의를 추천하는 대상
다음과 같은 분들에게 강력 추천합니다! 👇
✔️ Python을 사용하여 데이터 분석을 하고 싶은 분
✔️ Pandas의 성능 한계를 느끼고 더 나은 대안을 찾고 있는 분
✔️ 빠르게 Polars를 익히고 싶은 중급자
✔️ 데이터 처리 속도를 높이고, 더 효율적인 분석을 하고 싶은 분
📌 강의 구성
이 강의는 Polars의 기본 개념부터 실전 데이터 분석까지 한 단계씩 차근차근 배울 수 있도록 구성되어 있어요. 🚀
- Python
- Polars 기초 개념
- 시리즈 및 데이터 프레임 조작 방법
- Polars를 활용한 탐색적 데이터 분석(EDA)
✍️ 강의 미리보기
제가 Polas 강의를 들으며 공부한 내용을 공유해 볼게요!
타이타닉 데이터를 활용해서 분석을 진행했습니다.
- 연령대별 분석
age_analysis = (
titanic_df.with_columns([
pl.col('age')
.cut(breaks=[0, 10, 20, 30, 40, 50, 60, 100],
labels=['0', '0-10', '11-20', '21-30', '31-40', '41-50', '51-60', '60-70', '70+'])
.alias('age_group')
])
.group_by('age_group')
.agg([
(pl.col('survived').mean() * 100).alias('생존율'),
pl.col('survived').sum().alias('생존자수'),
pl.count().alias('승객수')
])
.sort('age_group')
)
print("연령대별 생존율:")
print(age_analysis)
연령대별 생존율:
shape: (7, 4)
┌───────────┬───────────┬──────────┬────────┐
│ age_group ┆ 생존율 ┆ 생존자수 ┆ 승객수 │
│ --- ┆ --- ┆ --- ┆ --- │
│ cat ┆ f64 ┆ i64 ┆ u32 │
╞═══════════╪═══════════╪══════════╪════════╡
│ 0-10 ┆ 59.375 ┆ 38 ┆ 64 │
│ 11-20 ┆ 38.26087 ┆ 44 ┆ 115 │
│ 21-30 ┆ 33.415233 ┆ 136 ┆ 407 │
│ 31-40 ┆ 44.516129 ┆ 69 ┆ 155 │
│ 41-50 ┆ 38.372093 ┆ 33 ┆ 86 │
│ 51-60 ┆ 40.47619 ┆ 17 ┆ 42 │
│ 60-70 ┆ 22.727273 ┆ 5 ┆ 22 │
└───────────┴───────────┴──────────┴────────┘
# 그래프 크기 설정
plt.figure(figsize=(12, 6))
# 막대 그래프와 선 그래프를 결합하여 표시
ax1 = plt.gca()
ax2 = ax1.twinx()
# 막대 그래프: 승객수와 생존자수
sns.barplot(data=age_analysis, x='age_group', y='승객수', color='lightblue', alpha=0.5, ax=ax1, label='전체 승객수')
sns.barplot(data=age_analysis, x='age_group', y='생존자수', color='blue', alpha=0.3, ax=ax1, label='생존자수')
# 선 그래프: 생존율
ax2.plot(range(1, len(age_analysis)+1), age_analysis['생존율'], color='red', marker='o', linewidth=2, label='생존율')
# 그래프 꾸미기
plt.title('타이타닉 연령대별 생존율과 승객수', pad=15, size=15)
ax1.set_xlabel('연령대', size=12)
ax1.set_ylabel('승객수', size=12)
ax2.set_ylabel('생존율 (%)', size=12)
# 생존율 데이터 레이블 표시
for i, v in enumerate(age_analysis['생존율']):
ax2.text(i+1, v, f'{v:.1f}%', ha='center', va='bottom')
# 범례 표시
lines1, labels1 = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax1.legend(lines1 + lines2, labels1 + labels2, loc='upper right')
plt.tight_layout()
plt.show()
타이타닉 연령대별 생존율과 승객 수를 그래프로 시각화해 봤어요✨
데이터를 그룹화해서 승객 수와 생존자 수를 추출한 후,
막대 그래프와 선 그래프를 결합해 생존율의 변화를 직관적으로 확인할 수 있었습니다. 📈
🎯 결론
이 강의를 듣고 나서 확실히 느낀 점은, 데이터 분석가라면 Pandas뿐만 아니라 Polars도 꼭 익혀야 한다는 거예요.
라이브러리를 다양하게 활용할 수 있다면 더 효율적으로 데이터를 다룰 수 있고, 분석의 깊이도 훨씬 깊어질 거라 생각합니다.
그리고 이번 글을 끝으로 위니브 엠버서더 활동을 마무리하게 되었습니다 !
그동안 함께할 수 있어 정말 즐겁고 의미 있는 시간이었습니다.
앞으로도 더 좋은 글로 찾아뵙겠습니다 😊
오늘도 읽어주셔서 감사합니다! 🙌 💖
'위니브 엠버서더 4기' 카테고리의 다른 글
[위니브 엠버서더] 제주코딩베이스캠프 Code Festival: Python 100제 문제 풀이 (0) | 2025.02.27 |
---|---|
[위니브 엠버서더] 제주코딩베이스캠프 Code Festival: Python 100제 강의 후기 (0) | 2025.02.27 |
[위니브 엠버서더] 비전공자를 위한 넓고 얇은 IT 지식 & 나의 개발 유형 알아보기! <M.B.I.T> 강의 후기 (0) | 2025.02.25 |
[위니브 엠버서더] SQL 베이스캠프 실습 후기 (3) | 2025.01.31 |
[위니브 엠버서더] SQL 베이스캠프 강의 후기 (4) | 2025.01.31 |