После воспроизведения некоторой агрегации и группировки в последней части, теперь мы будем играть усерднее со столом.
База данных детской площадки
Мы будем использовать ту же базу данных SQLite, но теперь мы собираемся использовать некоторые таблицы. Так что получите все необходимые файлы CSV здесь
Подготовка датафарама
import pandas as pd albums_df = pd.read_csv("albums.csv") artists_df = pd.read_csv("artists.csv")
Присоединяйтесь к запросам в PandaS DataFrame
ВНУТРЕННЕЕ СОЕДИНЕНИЕ:
SQL
:
SELECT * FROM albums JOIN artists ON albums.ArtistId = artists.ArtistId
или
SELECT * FROM albums INNER JOIN artists ON albums.ArtistId = artists.ArtistId
Пандас
:
# For the exact same column name on both table albums_df.merge(artists_df, on='ArtistId') # Defining the join column of each tables albums_df.merge(artists_df, left_on='ArtistId', right_on='ArtistId') # To make sure we use the INNER one albums_df.merge(artists_df, left_on='ArtistId', right_on='ArtistId', how='inner')
Левое присоединение
SQL
:
SELECT * FROM albums LEFT JOIN artists ON albums.ArtistId = artists.ArtistId
Пандас
:
albums_df.merge(artists_df, on='ArtistId', how='left')
Правильно присоединиться
SQL
:
SELECT * FROM albums RIGHT JOIN artists ON albums.ArtistId = artists.ArtistId
Пандас
:
albums_df.merge(artists_df, on='ArtistId', how='right')
Оригинал: “https://dev.to/dendihandian/sql-query-into-pandas-dataframe-part-3-fj0”