You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure ML中注册Pandas DataFrame?原API已弃用

将Pandas DataFrame注册为Azure Machine Learning数据集的替代方案

原Dataset.Tabular.register_pandas_dataframe API已被弃用,根据错误提示,最佳替代方式是先将DataFrame导出为Parquet或CSV文件,再通过读取文件的方式注册AML数据集,以下是具体实现:

方法1:使用Parquet格式(推荐)

Parquet是列式存储格式,具备更高的压缩率和读取效率,还能保留DataFrame的原始数据类型,是首选方案。

步骤及代码示例:

  • 将DataFrame保存为Parquet文件
  • 上传文件到Azure ML数据存储
  • 从数据存储中的Parquet文件创建并注册数据集
from azureml.core import Workspace, Dataset, Datastore
import pandas as pd
import tempfile
import os

# 初始化AML工作区
workspace = Workspace("<subscription_id>", "<resource_group>", "<workspace_name>")
datastore = workspace.get_default_datastore()

# 将DataFrame保存为临时Parquet文件
with tempfile.TemporaryDirectory() as temp_dir:
    parquet_path = os.path.join(temp_dir, "output_data.parquet")
    df.to_parquet(parquet_path, index=False)

    # 上传文件到数据存储
    datastore.upload_files(
        files=[parquet_path],
        target_path="dataset_folder/",  # 数据存储中的目标路径
        overwrite=True
    )

# 从数据存储中的Parquet文件创建数据集并注册
parquet_dataset = Dataset.Tabular.from_parquet_files(path=(datastore, "dataset_folder/output_data.parquet"))
registered_dataset = parquet_dataset.register(
    workspace=workspace,
    name="output_dataset_name",
    description="description",
    create_new_version=True  # 可选:数据集已存在时创建新版本
)

方法2:使用CSV格式

如果需要兼容更多工具,也可以选择CSV格式,步骤类似:

from azureml.core import Workspace, Dataset, Datastore
import pandas as pd
import tempfile
import os

# 初始化AML工作区
workspace = Workspace("<subscription_id>", "<resource_group>", "<workspace_name>")
datastore = workspace.get_default_datastore()

# 将DataFrame保存为临时CSV文件
with tempfile.TemporaryDirectory() as temp_dir:
    csv_path = os.path.join(temp_dir, "output_data.csv")
    df.to_csv(csv_path, index=False, encoding="utf-8")

    # 上传文件到数据存储
    datastore.upload_files(
        files=[csv_path],
        target_path="dataset_folder/",
        overwrite=True
    )

# 从数据存储中的CSV文件创建数据集并注册
csv_dataset = Dataset.Tabular.from_delimited_files(path=(datastore, "dataset_folder/output_data.csv"))
registered_dataset = csv_dataset.register(
    workspace=workspace,
    name="output_dataset_name",
    description="description",
    create_new_version=True
)

关键说明

  • 可根据需求选择自定义数据存储(无需局限于默认的get_default_datastore())
  • create_new_version=True参数用于避免覆盖已存在的数据集,自动创建新版本
  • 临时文件会在TemporaryDirectory上下文结束后自动删除,无需手动清理

内容的提问来源于stack exchange,提问作者Irina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:43:24