SQL クエリ結果を Pandas データ構造に変換する
概要
データ分析と操作では、多くの場合、SQL データベースから取得したデータを Pandas データ構造に変換する必要があります。この記事では、これを実現するプロセスについて説明します。
戻り値の型の識別
提供されたコードの connection.execute() 関数は SQLAlchemy ResultProxy を返します。このオブジェクトは、クエリの結果をタプルの反復可能として表します。各タプルは結果の行に対応します。
Pandas データ構造への変換
変換するには結果のタプルは Pandas DataFrame に変換され、DataFrame を使用できます。コンストラクター:
import pandas as pd df = pd.DataFrame(resoverall.fetchall())
fetchall() メソッドは、クエリ結果を表すタプルのリストを返します。 DataFrame コンストラクターは、このリストを引数として受け取り、タプルを行として含む DataFrame を生成します。
列名の設定
デフォルトでは、DataFrame は汎用の列名を使用します。 「0」、「1」など。意味のある列名を割り当てるには、列を使用します。属性:
df.columns = resoverall.keys()
resoverall.keys() は、クエリ結果から列名のリストを返します。このリストを DataFrame.columns 属性に割り当てると、列名が設定されます。
型変換による代替
SQL スキーマに一致するように列の型をさらに解析して変換するには、次のようにします。次のアプローチを使用できます。
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]])
このメソッドは、DataFrame 列の型が次のとおりであることを確認します。 SQL スキーマと一致しています。
以上がSQL クエリ結果を Pandas DataFrame に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。