← 홈

🐼Pandas

⌘K
🤖
Claude Code AI 도구
🤗
Hugging Face AI 도구
🦜
LangChain AI 도구
🧠
Keras AI 도구
🦙
Ollama AI 도구
🐍
Python 프로그래밍 언어
🟨
JavaScript 프로그래밍 언어
🔷
TypeScript 프로그래밍 언어
⚛️
React 프로그래밍 언어
🐹
Go 프로그래밍 언어
🦀
Rust 프로그래밍 언어
📊
MATLAB 프로그래밍 언어
🗄️
SQL 프로그래밍 언어
⚙️
C/C++ 프로그래밍 언어
Java 프로그래밍 언어
🟣
C# 프로그래밍 언어
🍎
Swift 프로그래밍 언어
🟠
Kotlin 프로그래밍 언어
Next.js 프로그래밍 언어
💚
Vue.js 프로그래밍 언어
🔥
Svelte 프로그래밍 언어
🎨
Tailwind CSS 프로그래밍 언어
💚
Node.js 프로그래밍 언어
🌐
HTML 프로그래밍 언어
🎨
CSS/SCSS 프로그래밍 언어
🐘
PHP 프로그래밍 언어
💎
Ruby 프로그래밍 언어
🔴
Scala 프로그래밍 언어
📊
R 프로그래밍 언어
🎯
Dart 프로그래밍 언어
💧
Elixir 프로그래밍 언어
🌙
Lua 프로그래밍 언어
🐪
Perl 프로그래밍 언어
🅰️
Angular 프로그래밍 언어
🚂
Express.js 프로그래밍 언어
🐱
NestJS 프로그래밍 언어
🛤️
Ruby on Rails 프로그래밍 언어
◼️
GraphQL 프로그래밍 언어
🟪
Haskell 프로그래밍 언어
💚
Nuxt.js 프로그래밍 언어
🔷
SolidJS 프로그래밍 언어
htmx 프로그래밍 언어
💻
VS Code 개발 도구
🧠
PyCharm 개발 도구
📓
Jupyter 개발 도구
🧠
IntelliJ IDEA 개발 도구
💚
Neovim 개발 도구
🔮
Emacs 개발 도구
🔀
Git DevOps & CLI
🐳
Docker DevOps & CLI
☸️
Kubernetes DevOps & CLI
☁️
AWS CLI DevOps & CLI
🔄
GitHub Actions DevOps & CLI
🐧
Linux 명령어 DevOps & CLI
💻
Bash 스크립팅 DevOps & CLI
🌐
Nginx DevOps & CLI
📝
Vim DevOps & CLI
🔨
Makefile DevOps & CLI
🧪
Pytest DevOps & CLI
🪟
Windows DevOps & CLI
📦
패키지 매니저 DevOps & CLI
🍎
macOS DevOps & CLI
🏗️
Terraform DevOps & CLI
🔧
Ansible DevOps & CLI
Helm DevOps & CLI
🔨
Jenkins DevOps & CLI
🔥
Prometheus DevOps & CLI
📊
Grafana DevOps & CLI
💻
Zsh DevOps & CLI
🐟
Fish Shell DevOps & CLI
💙
PowerShell DevOps & CLI
🔄
Argo CD DevOps & CLI
🔀
Traefik DevOps & CLI
☁️
Azure CLI DevOps & CLI
☁️
Google Cloud CLI DevOps & CLI
📟
tmux DevOps & CLI
🔧
jq DevOps & CLI
✂️
sed DevOps & CLI
📊
awk DevOps & CLI
🌊
Apache Airflow DevOps & CLI
🔢
NumPy 데이터베이스 & 데이터
🐼
Pandas 데이터베이스 & 데이터
🔥
PyTorch 데이터베이스 & 데이터
🧠
TensorFlow 데이터베이스 & 데이터
📈
Matplotlib 데이터베이스 & 데이터
🐘
PostgreSQL 데이터베이스 & 데이터
🐬
MySQL 데이터베이스 & 데이터
🍃
MongoDB 데이터베이스 & 데이터
🔴
Redis 데이터베이스 & 데이터
🔍
Elasticsearch 데이터베이스 & 데이터
🤖
Scikit-learn 데이터베이스 & 데이터
👁️
OpenCV 데이터베이스 & 데이터
Apache Spark 데이터베이스 & 데이터
🪶
SQLite 데이터베이스 & 데이터
Supabase 데이터베이스 & 데이터
🔵
Neo4j 데이터베이스 & 데이터
📨
Apache Kafka 데이터베이스 & 데이터
🐰
RabbitMQ 데이터베이스 & 데이터
🔤
Regex 유틸리티
📝
Markdown 유틸리티
📄
LaTeX 유틸리티
🔐
SSH & GPG 유틸리티
🌐
curl & HTTP 유틸리티
📜
reStructuredText 유틸리티
🚀
Postman 유틸리티
🎬
FFmpeg 유틸리티
🖼️
ImageMagick 유틸리티
🔍
ripgrep 유틸리티
🔍
fzf 유틸리티
📗
Microsoft Excel 오피스 애플리케이션
📘
Microsoft Word 오피스 애플리케이션
📙
Microsoft PowerPoint 오피스 애플리케이션
📝
한컴 한글 한컴오피스
📽️
한컴 한쇼 한컴오피스
📊
한컴 한셀 한컴오피스
📄
Google 문서 Google Workspace
📊
Google 스프레드시트 Google Workspace
📽️
Google 프레젠테이션 Google Workspace
🔌
Cadence Virtuoso EDA & 하드웨어
⚙️
Synopsys EDA EDA & 하드웨어
💎
Verilog & VHDL EDA & 하드웨어
LTSpice EDA & 하드웨어
🔧
KiCad EDA & 하드웨어
📝
Notion 생산성 도구
💎
Obsidian 생산성 도구
💬
Slack 생산성 도구
🎮
Discord 생산성 도구
🎨
Figma 디자인 도구
📘
Confluence Atlassian
📋
Jira Atlassian
🃏
Jest 테스팅
Vitest 테스팅
🎭
Playwright 테스팅
🌲
Cypress 테스팅
🌐
Selenium 테스팅
💙
Flutter 모바일 개발
📱
React Native 모바일 개발
🍎
SwiftUI 모바일 개발
📱
Expo 모바일 개발
🐍
Django 웹 프레임워크
FastAPI 웹 프레임워크
🌶️
Flask 웹 프레임워크
🍃
Spring Boot 웹 프레임워크
🍸
Gin 웹 프레임워크
Vite 빌드 도구
📦
Webpack 빌드 도구
esbuild 빌드 도구
🐘
Gradle 빌드 도구
🪶
Maven 빌드 도구
🔧
CMake 빌드 도구
🎮
Unity 게임 개발
🤖
Godot 게임 개발
🔌
Arduino 임베디드 & IoT
🔍
Nmap 보안
🐕
Datadog 모니터링
📖
Swagger/OpenAPI 문서화
검색 결과가 없습니다
EN KO

📚 기본

📦 임포트 & 생성

import pandas as pd import numpy as np pandas와 numpy 임포트
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) 딕셔너리로 생성
df = pd.DataFrame(data, columns=['A', 'B']) 컬럼 이름으로 생성
s = pd.Series([1, 2, 3, 4]) Series 생성
s = pd.Series([1, 2], index=['a', 'b']) 커스텀 인덱스로 Series
df = pd.DataFrame(np.random.randn(5, 3)) numpy 배열로 생성

📁 읽기 & 쓰기

df = pd.read_csv('file.csv') CSV 읽기
df = pd.read_csv('file.csv', sep=';', header=0) 옵션으로 읽기
df = pd.read_excel('file.xlsx', sheet_name='Sheet1') Excel 읽기
df = pd.read_json('file.json') JSON 읽기
df = pd.read_sql('SELECT * FROM table', conn) SQL에서 읽기
df = pd.read_parquet('file.parquet') Parquet 읽기
df.to_csv('output.csv', index=False) CSV 쓰기
df.to_excel('output.xlsx', index=False) Excel 쓰기
df.to_json('output.json', orient='records') JSON 쓰기
df.to_parquet('output.parquet') Parquet 쓰기

🔍 검사

df.head() 처음 5행
df.tail(10) 마지막 10행
df.shape 행과 열 수
df.info() DataFrame 정보
df.describe() 통계 요약
df.dtypes 컬럼 데이터 타입
df.columns 컬럼 이름
df.index 인덱스
df.values 데이터를 numpy 배열로
df.memory_usage() 메모리 사용량

🎯 선택

📊 컬럼 선택

df['A'] 컬럼을 Series로 선택
df[['A', 'B']] 여러 컬럼 선택
df.A 점 표기법 (간단한 이름)
df.columns.tolist() 컬럼 이름을 리스트로

📋 행 선택

df[0:5] 위치로 처음 5행
df.iloc[0] 위치로 첫 번째 행
df.iloc[0:5] 위치로 0-4행
df.iloc[[0, 2, 4]] 위치로 특정 행
df.loc['row_label'] 레이블로 행
df.loc['a':'c'] 레이블 범위로 행
df.loc[df.A > 0] 조건으로 행

📍 셀 선택

df.loc[0, 'A'] 레이블로 셀
df.iloc[0, 0] 위치로 셀
df.at[0, 'A'] 레이블로 빠른 스칼라 접근
df.iat[0, 0] 위치로 빠른 스칼라 접근
df.loc[0:2, 'A':'C'] 행과 열 슬라이스
df.iloc[0:2, 0:3] 위치로 슬라이스

🔎 필터링

df[df.A > 0] 조건으로 필터
df[(df.A > 0) & (df.B < 5)] 여러 조건 (AND)
df[(df.A > 0) | (df.B < 0)] 여러 조건 (OR)
df[~(df.A > 0)] 조건 부정
df[df.A.isin([1, 2, 3])] 리스트로 필터
df[df.A.str.contains('pattern')] 문자열 포함
df[df.A.notna()] 비-null 필터
df.query("A > 0 and B < 5") 쿼리 문자열

🔧 데이터 조작

컬럼 추가 & 수정

df['C'] = df.A + df.B 새 컬럼 추가
df['D'] = 0 상수로 컬럼 추가
df.insert(1, 'new_col', values) 위치에 삽입
df.assign(E=df.A * 2) 새 컬럼 할당 (복사본 반환)
df['A'] = df.A.apply(lambda x: x * 2) 함수 적용
df.A = df.A.astype(int) 데이터 타입 변경
df.rename(columns={'A': 'a', 'B': 'b'}) 컬럼 이름 변경

🗑️ 데이터 제거

df.drop('A', axis=1) 컬럼 삭제
df.drop(['A', 'B'], axis=1) 여러 컬럼 삭제
df.drop(0, axis=0) 인덱스로 행 삭제
df.drop([0, 1, 2]) 여러 행 삭제
df.drop_duplicates() 중복 행 삭제
df.drop_duplicates(subset=['A']) 컬럼으로 중복 삭제
df.dropna() NaN이 있는 행 삭제
df.dropna(subset=['A']) 특정 컬럼의 NaN 삭제

결측 데이터

df.isna() NaN 확인
df.isna().sum() 컬럼별 NaN 수
df.fillna(0) NaN을 값으로 채우기
df.fillna(method='ffill') 앞으로 채우기
df.fillna(method='bfill') 뒤로 채우기
df.fillna(df.mean()) 평균으로 채우기
df.interpolate() 결측값 보간
df.replace({'old': 'new'}) 값 대체

🔢 정렬

df.sort_values('A') 컬럼으로 정렬
df.sort_values('A', ascending=False) 내림차순 정렬
df.sort_values(['A', 'B']) 여러 컬럼으로 정렬
df.sort_index() 인덱스로 정렬
df.nlargest(5, 'A') 컬럼 기준 상위 5
df.nsmallest(5, 'A') 컬럼 기준 하위 5

📈 집계 & 그룹화

📊 기본 집계

df.sum() 각 컬럼의 합
df.mean() 각 컬럼의 평균
df.median() 각 컬럼의 중앙값
df.std() 표준편차
df.var() 분산
df.min() 각 컬럼의 최소
df.max() 각 컬럼의 최대
df.count() 비-null 값 수
df.nunique() 고유 값 수
df.A.value_counts() 각 값의 수

👥 GroupBy

df.groupby('A').sum() 그룹화 및 합계
df.groupby('A').mean() 그룹화 및 평균
df.groupby(['A', 'B']).count() 여러 컬럼으로 그룹화
df.groupby('A').agg(['sum', 'mean']) 여러 집계
df.groupby('A').agg({'B': 'sum', 'C': 'mean'}) 컬럼별 다른 집계
df.groupby('A').transform('mean') 변환 (형태 유지)
df.groupby('A').apply(lambda x: x.nlargest(2, 'B')) 커스텀 함수 적용
df.groupby('A').filter(lambda x: x.B.mean() > 0) 그룹 필터

🔄 피벗 & 형태 변환

df.pivot(index='A', columns='B', values='C') 피벗 테이블
df.pivot_table(values='C', index='A', columns='B', aggfunc='mean') 집계가 있는 피벗
pd.melt(df, id_vars=['A'], value_vars=['B', 'C']) 언피벗 (넓은 형태에서 긴 형태로)
df.stack() 컬럼을 행으로 스택
df.unstack() 행을 컬럼으로 언스택
df.T 전치

🔗 데이터 결합

🤝 병합 & 조인

pd.merge(df1, df2, on='key') 컬럼으로 병합
pd.merge(df1, df2, on=['key1', 'key2']) 여러 컬럼으로 병합
pd.merge(df1, df2, left_on='a', right_on='b') 다른 컬럼 이름으로 병합
pd.merge(df1, df2, how='left') 왼쪽 조인
pd.merge(df1, df2, how='right') 오른쪽 조인
pd.merge(df1, df2, how='outer') 외부 조인
pd.merge(df1, df2, how='inner') 내부 조인 (기본)
df1.join(df2, on='key') 인덱스로 조인

📎 연결

pd.concat([df1, df2]) 행 연결
pd.concat([df1, df2], axis=1) 컬럼 연결
pd.concat([df1, df2], ignore_index=True) 연결 후 인덱스 재설정
pd.concat([df1, df2], keys=['a', 'b']) 키와 함께 연결
df1.append(df2) 행 추가 (deprecated)

📅 날짜 & 시간

날짜시간 작업

df['date'] = pd.to_datetime(df['date']) 날짜시간으로 변환
pd.to_datetime('2024-01-01') 날짜 문자열 파싱
pd.to_datetime(df['date'], format='%Y-%m-%d') 형식으로 파싱
df.date.dt.year 연도 추출
df.date.dt.month 월 추출
df.date.dt.day 일 추출
df.date.dt.dayofweek 요일 (0=월)
df.date.dt.hour 시간 추출
df.date.dt.strftime('%Y-%m-%d') 문자열로 형식화

📆 날짜 범위 & 리샘플

pd.date_range('2024-01-01', periods=10) 날짜 범위 생성
pd.date_range('2024-01-01', '2024-12-31', freq='M') 월별 날짜 범위
df.set_index('date').resample('M').mean() 월별 리샘플
df.resample('D').sum() 일별 리샘플
df.rolling(window=7).mean() 7일 이동 평균
df.shift(1) 1 기간 시프트
df.diff() 이전과의 차이
df.pct_change() 퍼센트 변화

💡 팁 & 모범 사례

유용한 팁

  • .copy() 사용: SettingWithCopyWarning 방지를 위해 df_copy = df.copy()
  • 메소드 체이닝: 작업 체이닝: df.dropna().groupby().mean()
  • Categorical 사용: 메모리를 위해 df.col = df.col.astype("category")
  • 연산 벡터화: 루프 피하고 벡터화 연산 사용
  • inplace=True 사용: df.drop(..., inplace=True)는 원본 수정
  • dtypes 확인: df.dtypes로 항상 데이터 타입 확인
  • 할당에 .loc 사용: df.loc[cond, "col"] = value가 더 안전
  • 큰 파일 읽기: 큰 CSV에 chunksize 파라미터 사용