본문 바로가기

데이터 분석/Python - 궁금하다

판다스에서 SQLite 활용법

반응형

 

판다스는 데이터 분석을 위한 파이썬 라이브러리이고, 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의 경량성과 판다스의 강력한 데이터 처리 기능을 활용하면 다양한 데이터 분석 작업을 효과적으로 수행할 수 있습니다. 여러분도 이 방법을 활용하여 데이터 분석 프로젝트를 더욱 효율적으로 진행해보세요.

반응형