Pandas en de Hello World van SQL-queries!
Hier maak je gebruik van de kracht van pandas om het resultaat van je SQL-query in één korte regel Python naar een DataFrame te schrijven!
Je importeert eerst pandas en maakt de SQLite-engine voor 'Chinook.sqlite'. Daarna query je de database om alle records uit de tabel Album op te halen.
Ter herinnering: om alle records uit de tabel Orders in de Northwind-database te selecteren, voerde Hugo het volgende commando uit:
df = pd.read_sql_query("SELECT * FROM Orders", engine)
Deze oefening maakt deel uit van de cursus
Introductie tot data importeren in Python
Oefeninstructies
- Importeer het package
pandasmet de aliaspd. - Gebruik de functie
create_engine()om een engine te maken voor de SQLite-databaseChinook.sqliteen wijs deze toe aan de variabeleengine. - Gebruik de
pandas-functieread_sql_query()om aan de variabeledfhet DataFrame toe te wijzen met de resultaten van de volgende query: selecteer alle records van de tabelAlbum. - De rest van de code is opgenomen om te bevestigen dat het DataFrame dat met deze methode wordt gemaakt gelijk is aan dat van de vorige methode die je hebt geleerd.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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))