データベース表またはファイルへのデータの格納
機械学習タスクでの作業には、データ変換アクティビティ(意味のある機能の作成、データ・クリーニング、カテゴリ変数のエンコーディングなど)が含まれ、データをより便利にできます。 その後、SpatialDataFrame
クラスのwrite
メソッドを使用して、これらのデータ変更をデータベースまたはファイルに格納できます。
write
メソッドをコールする前に、SpatialDataFrame
のすべての変換がデータベース表に直接影響を与えることはありません。
次の表に、write
関数の主なパラメータを示します。
パラメータ | 説明 |
---|---|
dataset |
このパラメータはSpatialDataset のインスタンスで、結果のデータセットを表します。
|
if_exists |
オプションは、fail およびreplace です。 結果のデータセットがすでに存在する場合に実行するアクションを決定します。
|
include_index |
True の場合、インスタンスの索引列が結果に書き込まれます。
|
create_spatial_metadata |
空間メタデータを作成する必要がある場合、この値はTrue に設定されます。 Oracle Spatialデータベース・データセットにのみ使用されます。
|
create_spatial_index |
このパラメータは、Oracle Spatialデータベース・データセットにのみ使用され、空間索引を作成する必要がある場合はTrue です。
|
詳細は、「Oracle Spatial AI Python APIリファレンス」のSpatialDataFrame.write関数を参照してください。
次の例では、block_groups
SpatialDataFrame
を使用して次のステップを実行します:
INCOME_LABEL
というカテゴリ変数を持つ新しい列を追加します。- 拡張データセットを持つ
SpatialDataFrame
の新しいインスタンスを戻すadd_column
メソッドをコールします。 write
メソッドをコールして、データベースにデータを格納します。SpatialDataFrame
で最近作成された表からデータをロードし、新しく追加された列を確認します。
# The column INCOME_LABEL is not in the dataset
if "INCOME_LABEL" not in block_groups.columns:
print("The column INCOME_LABEL is not part of the columns of block_groups")
# Create the variable "INCOME_LABEL" based on the median income
block_groups_extended = block_groups.add_column("INCOME_LABEL", pd.qcut(block_groups['MEDIAN_INCOME'].values, [0, 0.5, 1], labels=[0, 1]).to_list())
# Store the extended data in the database
block_groups_extended.write(DBSpatialDataset(table='write_test'),
if_exists='replace',
create_spatial_index=True)
# Load the stored dataset in a new SpatialDataFrame
block_groups_new = SpatialDataFrame.create(DBSpatialDataset(table='write_test'))
# The column INCOME_LABEL is contained in the dataset's columns
if "INCOME_LABEL" in block_groups_new.columns:
print("The column INCOME_LABEL is contained in the columns of block_groups_new")
出力では、新しい列INCOME_LABEL
がデータベースに格納されているデータセットの一部であることが確認されます。
The column INCOME_LABEL is not part of the columns of block_groups
The column INCOME_LABEL is contained in the columns of block_groups_new