Pandas와 SQL 쿼리의 Hello World!
이번에는 pandas의 기능을 활용해, SQL 쿼리 결과를 한 줄의 Python 코드로 DataFrame에 담아 보겠습니다!
먼저 pandas를 임포트하고 SQLite 엔진 'Chinook.sqlite'를 생성하세요. 그런 다음 데이터베이스에서 Album 테이블의 모든 레코드를 조회합니다.
Northwind 데이터베이스의 Orders 테이블에서 모든 레코드를 선택하기 위해 Hugo가 실행한 명령을 떠올려 보세요:
df = pd.read_sql_query("SELECT * FROM Orders", engine)
이 연습은 강의의 일부입니다
Python에서 데이터 가져오기 입문
연습 안내
pandas패키지를 별칭pd로 임포트하세요.create_engine()함수를 사용해 SQLite 데이터베이스Chinook.sqlite에 대한 엔진을 만들고 변수engine에 할당하세요.pandas의read_sql_query()함수를 사용하여 다음 쿼리의 결과를 DataFrame으로 받아 변수df에 할당하세요: 테이블Album에서 모든 레코드를 select합니다.- 나머지 코드는 이 방식으로 생성한 DataFrame이 앞에서 배운 방식으로 생성한 DataFrame과 동일함을 확인하기 위한 것입니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import packages
from sqlalchemy import create_engine
import ____ as ____
# Create engine: engine
# Execute query and store records in DataFrame: df
df = pd.read_sql_query(____, ____)
# Print head of DataFrame
print(df.head())
# Open engine in context manager and store query result in df1
with engine.connect() as con:
rs = con.execute("SELECT * FROM Album")
df1 = pd.DataFrame(rs.fetchall())
df1.columns = rs.keys()
# Confirm that both methods yield the same result
print(df.equals(df1))