Konvertieren von SQL-Abfrageergebnissen in die Pandas-Datenstruktur
Einführung
Zur Erleichterung der Datenanalyse und Manipulation ist es oft notwendig, aus einer SQL-Datenbank abgerufene Daten in eine Pandas-Datenstruktur zu konvertieren. Dieser Artikel führt Sie durch den Prozess, dies zu erreichen.
Identifizieren des Rückgabetyps
Die Funktion „connection.execute()“ im bereitgestellten Code gibt einen SQLAlchemy ResultProxy zurück. Dieses Objekt stellt das Ergebnis der Abfrage als Iterable von Tupeln dar, wobei jedes Tupel einer Zeile im Ergebnis entspricht.
Konvertieren in die Pandas-Datenstruktur
Zur Konvertierung Um die Ergebnistupel in einen Pandas DataFrame zu übertragen, können Sie den DataFrame-Konstruktor verwenden:
import pandas as pd df = pd.DataFrame(resoverall.fetchall())
Die fetchall()-Methode gibt a zurück Liste von Tupeln, die die Abfrageergebnisse darstellen. Der DataFrame-Konstruktor verwendet diese Liste als Argument und generiert einen DataFrame mit den Tupeln als Zeilen.
Spaltennamen festlegen
Standardmäßig verwendet der DataFrame generische Spaltennamen wie „0“, „1“ usw. Um aussagekräftige Spaltennamen zuzuweisen, verwenden Sie das Spaltenattribut:
df.columns = resoverall.keys()
The resoverall.keys() gibt eine Liste von Spaltennamen aus dem Abfrageergebnis zurück. Durch Zuweisen dieser Liste zum DataFrame.columns-Attribut werden die Spaltennamen festgelegt.
Alternative mit Typkonvertierung
Um die Spaltentypen zusätzlich zu analysieren und zu konvertieren, damit sie dem SQL-Schema entsprechen, Sie können den folgenden Ansatz verwenden:
import numpy as np from sqlalchemy import types df = pd.DataFrame(resoverall.fetchall()) for column in resoverall.keys(): df[column] = df[column].astype(types.type_map[resoverall.scalar_types[column]])
Diese Methode stellt sicher, dass die DataFrame-Spaltentypen mit der SQL konsistent sind Schema.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich SQL-Abfrageergebnisse in einen Pandas DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!