【问题标题】:load csv and set parameters in jupyter notebook on Azure ML在 Azure ML 上的 jupyter notebook 中加载 csv 并设置参数
【发布时间】:2017-12-01 16:07:13
【问题描述】:

我正在使用 Python 3.4 Jupyter 笔记本在 Azure ML 中加载数据集,该数据集作为 Azure ML 项目环境中的数据集存储在云中。但是使用 Azure ML 创建的默认模板,由于混合数据类型错误,我无法加载数据。

from azureml import Workspace
import pandas as pd

ws = Workspace()
ds = ws.datasets['rossmann-train.csv']
df = ds.to_dataframe()

/home/nbuser/anaconda3_23/lib/python3.4/site-packages/IPython/kernel/ma​​in.py:6:DtypeWarning:列 (7) 具有混合类型。在导入时指定 dtype 选项或设置 low_memory=False。

在我的本地环境中,我只是按如下方式导入数据集:

df = pd.read_csv('train.csv',low_memory=False)

但我不确定如何使用 ds 对象在 azure 中执行此操作。

df = pd.read_csv(ds)

pd.DataFrame.from_csv(ds)

提出错误:

OSError: Expected file path name or file-like object, got type

*编辑:ds 对象的更多信息:

In  [1]: type(ds)
Out [1]: azureml.SourceDataset
In  [2]: print (ds)
Out [2]: rossmann-train.csv

【问题讨论】:

    标签: python-3.x pandas jupyter-notebook azure-machine-learning-studio


    【解决方案1】:

    首先,根据您的问题,我不确定ds 对象是什么。但我很确定它不是 csv 文件,因为如果是,你会自己处理它,你不会有这个问题。

    现在,我不确定pandas是否有处理Azure的原生方式,但是这块documentation表示首先你必须使用他们的包从Azure下载数据,并将其保存到本地文件系统。

    但为此,他们假设您下载的数据已经采用csv 格式。如果没有,请使用适当的阅读器(或手动解析)将pandas.DataFrame 的数据制成表格。

    【讨论】:

    • 我认为 ds 对象是由我导入的 azureml python 库创建的。我在上面的问题中添加了更多关于 ds 对象的细节。请注意,我正在阅读的数据集在云中,它存储在我的 Azure ML 工作室中的“数据集”部分。该文件绝对是 CSV。
    【解决方案2】:

    根据 azureml 库上的 docs,一种解决方法是将文件作为文本导入,然后将其解析为 csv,但这似乎没有必要,因为数据已被识别为 csv 结构。

    text_data = ds.read_as_text()
    

    【讨论】:

      猜你喜欢
      • 2021-06-28
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 2020-12-31
      • 1970-01-01
      • 1970-01-01
      • 2017-04-11
      • 2021-06-20
      相关资源
      最近更新 更多