Integracja danych z różnych źródeł to proces polegający na połączeniu danych z różnych miejsc, takich jak pliki, bazy danych czy zapytania internetowe, w jedną całość. Jest to ważne, ponieważ dane często są rozproszone ,co utrudnia ich analizę.
Biblioteka pandas w Pythonie to popularne narzędzie do przetwarzania i analizy danych. Zawiera ona szereg funkcji i narzędzi umożliwiających integrację danych z różnych źródeł.
Jednym z podstawowych sposobów integracji danych za pomocą pandas jest wczytanie ich z pliku. Pandas posiada funkcję read_csv()
, która pozwala wczytać dane z pliku CSV (Comma Separated Values) do DataFrame. Można również użyć funkcji read_excel()
do wczytania danych z pliku Excel lub read_json()
do wczytania danych z pliku JSON.
Innym sposobem integracji danych jest połączenie ich z bazą danych za pomocą zapytania SQL. Pandas udostępnia funkcję read_sql_query()
, która pozwala wykonać zapytanie SQL i zapisać wynik w DataFrame.
Ponadto, pandas umożliwia integrację danych za pomocą zapytań internetowych, takich jak te wysyłane do serwisów API. Do tego celu można użyć funkcji read_html()
, która pozwala wczytać dane z tabel HTML, lub read_json()
, która pozwala wczytać dane z pliku lub adresu URL w formacie JSON.
Po wczytaniu danych z różnych źródeł najczęściej należy je połączyć w jedną całość.
Przykład łączenia danych za pomocą funkcji merge:
import pandas as pd
# zczytaj dane z pliku CSV
df1 = pd.read_csv('dane1.csv')
# zczytaj dane z bazy danych
df2 = pd.read_sql_query('SELECT * FROM tabela', con)
# połącz dwa zbiory danych po kolumnie 'klucz'
df = pd.merge(df1, df2, on='klucz')
Przykład łączenia danych za pomocą funkcji concat:
import pandas as pd
# zczytaj dane z pliku CSV
df1 = pd.read_csv('dane1.csv')
# zczytaj dane z bazy danych
df2 = pd.read_sql_query('SELECT * FROM tabela', con)
# połącz dwa zbiory danych w jednym wierszu (poziomo)
df = pd.concat([df1, df2], axis=1)
# połącz dwa zbiory danych w jednej kolumnie (pionowo)
df = pd.concat([df1, df2], axis=0)
Oczywiście, istnieją różne opcje i parametry, które można ustawić dla tych funkcji, np. można określić, jakie kolumny mają być użyte do połączenia, czy mają być one połączone z uwzględnieniem duplikatów, itp.