반응형
판다스는 데이터 분석을 위한 파이썬 라이브러리이고, SQLite는 경량의 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 이 두 가지 도구를 결합하면 데이터 분석 작업을 더 효과적으로 수행할 수 있습니다.
1. 판다스와 SQLite 설치
먼저, 판다스와 SQLite3 모듈을 설치해야 합니다. 일반적으로 SQLite3는 파이썬 표준 라이브러리에 포함되어 있어 별도의 설치가 필요하지 않습니다. 판다스는 다음 명령어를 통해 설치할 수 있습니다:
pip install pandas
2. SQLite 데이터베이스 연결
SQLite 데이터베이스에 연결하기 위해 sqlite3 모듈을 사용합니다. 데이터베이스가 없다면, 새로 생성됩니다.
import sqlite3
import pandas as pd
# 데이터베이스 연결
conn = sqlite3.connect('example.db')
# 커서 객체 생성
cursor = conn.cursor()
3. SQLite 테이블 생성 및 데이터 삽입
예제 데이터를 사용하여 SQLite 테이블을 생성하고 데이터를 삽입해보겠습니다.
# 테이블 생성
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
id INTEGER PRIMARY KEY,
name TEXT,
department TEXT,
salary REAL
)
''')
# 데이터 삽입
cursor.execute('''
INSERT INTO employees (name, department, salary)
VALUES ('John Doe', 'Marketing', 50000)
''')
cursor.execute('''
INSERT INTO employees (name, department, salary)
VALUES ('Jane Smith', 'Sales', 60000)
''')
# 변경 사항 저장
conn.commit()
4. 판다스를 사용하여 데이터 가져오기
SQLite에서 데이터를 조회하여 판다스 데이터프레임으로 불러올 수 있습니다.
# SQL 쿼리 실행 및 결과를 판다스 데이터프레임으로 불러오기
df = pd.read_sql_query('SELECT * FROM employees', conn)
# 데이터프레임 출력
print(df)
5. 판다스 데이터프레임을 SQLite에 저장
판다스 데이터프레임을 SQLite 데이터베이스에 저장할 수도 있습니다. 예를 들어, 새로운 데이터프레임을 생성하고 이를 데이터베이스에 저장해보겠습니다.
# 새로운 데이터프레임 생성
new_employees = pd.DataFrame({
'name': ['Alice', 'Bob'],
'department': ['HR', 'Engineering'],
'salary': [55000, 75000]
})
# 데이터프레임을 SQLite 테이블로 저장 (테이블이 없으면 생성, 있으면 덮어쓰기)
new_employees.to_sql('employees', conn, if_exists='append', index=False)
6. 데이터 갱신 및 삭제
SQLite에서 데이터를 갱신하거나 삭제할 수 있습니다. 다음은 예제입니다.
# 데이터 갱신
cursor.execute('''
UPDATE employees
SET salary = 70000
WHERE name = 'John Doe'
''')
# 데이터 삭제
cursor.execute('''
DELETE FROM employees
WHERE name = 'Alice'
''')
# 변경 사항 저장
conn.commit()
7. 데이터베이스 연결 닫기
작업이 끝난 후에는 데이터베이스 연결을 닫아야 합니다.
# 데이터베이스 연결 닫기
conn.close()
결론
판다스와 SQLite를 결합하면 데이터베이스에서 데이터를 효율적으로 불러오고, 분석하고, 저장할 수 있습니다. SQLite의 경량성과 판다스의 강력한 데이터 처리 기능을 활용하면 다양한 데이터 분석 작업을 효과적으로 수행할 수 있습니다. 여러분도 이 방법을 활용하여 데이터 분석 프로젝트를 더욱 효율적으로 진행해보세요.
반응형