-
[Python] pandas 설치 방법과 기본 활용 예시 (Linux 환경 기준)업무 자동화/Python 2025. 11. 25. 07:33

1. pandas 개요
1-1. 정의
- pandas는 행/열 구조의 표 데이터를 다루는 라이브러리
- 주요 객체
Series: 1차원 데이터 (인덱스를 가진 리스트 느낌)DataFrame: 2차원 테이블 (엑셀 시트와 유사)
1-2. Linux 환경에서 pandas의 위치
- 많은 서버/배치/데이터 파이프라인이 Linux 상에서 돌아감
- 로그 분석, 통계 처리, 간단한 ETL에 최적화된 도구
- Jupyter, Airflow, cron 등과 함께 자동 리포팅/모니터링에 활용
2. 사전 준비: Python & pip 확인
터미널에서 다음 명령으로 버전을 확인합니다.
python3 --version pip3 --version- Python 3.x 권장
- 일부 배포판은
python대신python3를 사용합니다.
배포판 예시:
- Ubuntu / Debian 계열:
apt - Fedora / RHEL / CentOS 계열:
dnf또는yum - Arch 계열:
pacman
3. Linux에서 pandas 설치 방법
3-1. 배포판 패키지 관리자로 설치
3-1-1. Ubuntu / Debian 계열
sudo apt update sudo apt install python3-pandas버전 확인:
python3 -c "import pandas as pd; print(pd.__version__)"3-1-2. Fedora / RHEL / CentOS 계열
sudo dnf install python3-pandas # 또는 # sudo yum install python3-pandas3-1-3. Arch 계열
sudo pacman -S python-pandas패키지 관리자는 편리하지만, pandas 버전이 최신이 아닐 수 있습니다.
프로젝트별 버전 관리가 필요하다면 가상 환경 + pip를 사용하는 것이 좋습니다.3-2. (권장) 가상 환경(venv) + pip 설치
# 1) 프로젝트 폴더 생성 및 이동 mkdir -p ~/projects/pandas_linux && cd ~/projects/pandas_linux # 2) 가상 환경 생성 python3 -m venv .venv # 3) 가상 환경 활성화 (bash/zsh) source .venv/bin/activate # 4) pip 최신화 + pandas 설치 pip install --upgrade pip pip install pandas # 5) 설치 확인 python -c "import pandas as pd; print(pd.__version__)"- 프롬프트에
(.venv)가 보이면 해당 가상환경 안에 있는 상태입니다. - 작업이 끝나면
deactivate명령으로 빠져나올 수 있습니다.
3-3. pyenv + pip (여러 Python 버전을 관리할 때)
pyenv를 사용하면 Linux 환경에서 여러 Python 버전을 병행 설치/관리할 수 있습니다.3-3-1. pyenv 설치 (Ubuntu 예시)
sudo apt update sudo apt install -y build-essential curl git libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev curl https://pyenv.run | bash~/.bashrc또는~/.zshrc에 다음을 추가:export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"셸을 재시작하거나
source ~/.bashrc로 반영합니다.3-3-2. pyenv로 Python + pandas 설치
# Python 버전 설치 pyenv install 3.11.9 # 특정 디렉터리에 버전 지정 cd ~/projects/pandas_linux pyenv local 3.11.9 # venv 생성 후 활성화 python -m venv .venv source .venv/bin/activate # pandas 설치 pip install pandas3-4. Anaconda / Miniconda 사용 (데이터 과학 통합 환경)
이미 conda 계열을 사용 중이라면 Linux에서도 동일한 패턴으로 사용합니다.
# 새 환경 생성 conda create -n pandas_env python=3.11 # 환경 활성화 conda activate pandas_env # pandas 설치 conda install pandas- JupyterLab, NumPy, matplotlib 등과 함께 통합 관리하기 좋은 선택지입니다.
4. pandas 기본 문법 (Linux/Windows 공통)
예제에서는 아래와 같이 import 합니다.
import pandas as pd4-1. Series / DataFrame 생성
import pandas as pd s = pd.Series([100, 200, 150], name="value") print(s) df = pd.DataFrame( { "host": ["app1", "app2", "app3"], "cpu": [0.4, 0.8, 0.3], "mem": [2.1, 3.5, 1.8], } ) print(df)4-2. 로그/CSV 파일 읽기
예: Linux 서버에서 수집한 로그를 가공하는 경우.
import pandas as pd # 구분자가 콤마인 일반 CSV df = pd.read_csv("access_log.csv") print(df.head())구분자가 탭()인 경우:
df_tab = pd.read_csv("access_log.tsv", sep="\t")4-3. 기본 조회와 필터링
print(df.head()) # 상위 5행 print(df.describe()) # 기본 통계 요약 # 특정 컬럼 선택 print(df["status_code"]) print(df[["path", "response_time"]]) # 조건 필터링: 응답 시간이 1초 이상 slow = df[df["response_time"] >= 1.0]4-4. 정렬과 새로운 컬럼
# 응답 시간 내림차순 정렬 sorted_df = df.sort_values(by="response_time", ascending=False) # 초 단위 → ms(밀리초) 변환 컬럼 추가 df["response_ms"] = df["response_time"] * 10004-5. 결측값 처리
import numpy as np # 결측 개수 확인 print(df.isna().sum()) # 결측값을 0으로 채우기 (예: 응답 크기) df["bytes"] = df["bytes"].fillna(0) # 결측이 있는 행 제거 df_clean = df.dropna()4-6. groupby와 집계
# 상태코드별 요청 수, 평균 응답 시간 summary = ( df.groupby("status_code")[["response_ms"]] .agg(["count", "mean", "max"]) ) print(summary)4-7. 피벗 테이블 예시
pivot = pd.pivot_table( df, index="status_code", columns="method", # GET / POST 등 values="response_time", aggfunc="mean", ) print(pivot)- HTTP 메소드별/상태코드별 평균 응답 시간을 한 번에 비교할 수 있습니다.
5. 정리
- pandas는 Linux 환경에서도 로그/CSV/Excel/DB 데이터를 다루는 핵심 도구
- 설치 방법은 크게 네 가지
- 배포판 패키지 관리자 (
apt,dnf,pacman) - 가상 환경(venv) + pip (권장)
- pyenv + pip (Python 버전 관리용)
- Anaconda / Miniconda (데이터 과학 환경)
- 배포판 패키지 관리자 (
- 알아두면 좋은 활용 포인트
- CSV/로그 읽기, 컬럼/행 선택, 필터링
- 결측값 처리, 정렬
- groupby / pivot_table로 집계
- cron과 연동한 자동 리포트 생성
'업무 자동화 > Python' 카테고리의 다른 글
[Python] pathlib: OS 독립적인 파일·디렉터리 경로 다루기 (0) 2025.11.27 [Python] math 표준 라이브러리 정리: 기본 수학 함수, 상수, 활용 예시 (0) 2025.11.26 [Python] pandas 설치 방법과 기본 활용 예시 (Windows 64bit 기준) (0) 2025.11.24 [Python] NumPy 설치 방법과 기본 활용 예시 (Linux 환경 기준) (0) 2025.11.23 [Python] NumPy 설치 방법과 기본 활용 예시 (Windows 64bit 기준) (0) 2025.11.22