在 Azure ML 上的 jupyter notebook 中加载 csv 并设置参数
Posted
技术标签:
【中文标题】在 Azure ML 上的 jupyter notebook 中加载 csv 并设置参数【英文标题】:load csv and set parameters in jupyter notebook on Azure ML 【发布时间】: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/main.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
【问题讨论】:
【参考方案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()
【讨论】:
以上是关于在 Azure ML 上的 jupyter notebook 中加载 csv 并设置参数的主要内容,如果未能解决你的问题,请参考以下文章
Azure ML Studio ML Pipeline - 异常:未找到临时文件
Azure:部署集成在数据块上的 ML 模型的 Ansible 角色
如何将特定于类的文件夹中的图像上传到 Azure ML Studio 上的 Azure Blob 存储