Do tej pory pracowaliśmy na danych pochodzących z plików, takich jak CSV czy XLS. Możliwości Pandas są jednak szersze. Bardzo dobrze współpracuje z bazami danych, których może odczytywać dane oraz może do nich zapisywać dane. Zobaczmy jak, na przykładnie bazy danych SQLite.
Na początek przygotujmy prosty DataFrame,
import pandas as pd df = pd.read_csv('https://analityk.edu.pl/wp-content/uploads/2020/12/film.csv', sep=';', encoding = "ISO-8859-1", skiprows=[1], dtype={'Lenght':'float64','Popularity':'float64'}, usecols=['Year', 'Length', 'Popularity', 'Subject', 'Awards'], converters={'Awards':lambda x: True if x == 'Yes' else False})
Zapis do bazy danych SQLite
Aby zapisać dane z naszego DataFrame df, do bazy SQLite, process jest bardzo prosty.
Importujemy bibliotekę sqlite3, otwieramy połączenie do bazy danych. Jeżeli nie istnieje, to zostanie stworzona. A następnie ca pomocą funkcji to_sql zapisujemy dane:
import sqlite3 as sql conn = sql.connect('c:/python/pandas/new.sqlite') df.to_sql('films', conn)
W wyniku tej operacji, zostanie utworzona w bazie danych tabela o nazwie films, a w niej wszystkie nasze dane z DataFrame.
Odczyt z bazy danych SQLite
Równie prosty jest odczyt danych z bazy danych. Użyjemy funkcji read_sql, natomiast pierwszym parametrem będzie kod SQL który chcemy wykonać i którego wyniki chcemy zapisać do naszego DataFrame:
conn = sql.connect('c:/python/pandas/new.sqlite') movies = pd.read_sql("select * from films where Year > 1995", conn)
Podsumowanie
W tej krótkiej lekcji dotknęliśmy tylko wierzchołek góry lodowe. Pandas może współpracować z wieloma bazami jak np Postgresql, Mysql czy też Oracle. Jest to wygodne i dość proste.
Spis treści Pandas Tutorial / Kurs
- Pandas – Intro
- Pandas – przygotowanie środowiska pracy
- Pandas – tworzenie prostego DataFrame
- Pandas – odczyt i zapis do pliku
- Pandas – podstawowe informacje o DataFrame
- Pandas – indeksy oraz funkcja loc
- Pandas – maski
- Pandas – modyfikacje kolumn
- Pandas – funkcja apply
- Pandas – typy danych
- Pandas – grupowanie z groupby
- Pandas – unstack oraz tabele przestawne
- Pandas – łączenie zbiorów danych
- Pandas – SQL i bazy danych