在 Azure ML Studio 中将 pandas 更新到版本 0.19

Updating pandas to version 0.19 in Azure ML Studio

我真的很想访问 pandas 0.19 中的一些更新功能,但 Azure ML studio 使用 pandas 0.18 作为 Anaconda 4.0 包的一部分。有没有办法更新 "Execute Python Script" 组件中使用的版本?

我为您提供以下步骤来展示如何更新 Execute Python Script 中的 pandas 库的版本。

步骤 1:使用 virtualenv 组件在您的 system.Please 如果没有,请先使用命令 pip install virtualenv 安装。

如果安装成功,您可以在 python/Scripts 文件中看到它。

Step2 : 运行创建独立python运行环境的命令。

第三步 : 然后进入新建目录下的Scripts文件夹激活(这一步很重要,不要错过)

请不要关闭此命令window并使用pip install pandas==0.19在此命令window中下载外部库window。

第四步:将Lib/site-packages文件夹中的所有文件压缩成zip包(我调用它 pandas - 打包在这里)

第五步:将zip包上传到Azure Machine Learning WorkSpace DataSet中

具体步骤请参考Technical Notes.

成功后会在DataSet列表中看到上传的包

Step 6:在Execute Python Script模块中方法azureml_main的定义之前,你需要删除旧的 pandas 模块及其依赖项,然后再次导入 pandas,如下面的代码。

import sys
import pandas as pd
print(pd.__version__)
del sys.modules['pandas']
del sys.modules['numpy']
del sys.modules['pytz']
del sys.modules['six']
del sys.modules['dateutil']
sys.path.insert(0, '.\Script Bundle')
for td in [m for m in sys.modules if m.startswith('pandas.') or m.startswith('numpy.') or m.startswith('pytz.') or m.startswith('dateutil.') or m.startswith('six.')]:
    del sys.modules[td]
import pandas as pd
print(pd.__version__)
# The entry point function can contain up to two input arguments:
#   Param<dataframe1>: a pandas.DataFrame
#   Param<dataframe2>: a pandas.DataFrame
def azureml_main(dataframe1 = None, dataframe2 = None):

然后你可以从日志中看到如下结果,首先打印旧版本0.14.0,然后从上传的zip文件中打印新版本0.19.0

[Information]         0.14.0
[Information]         0.19.0

您还可以参考这些主题:Access blob file using time stamp in Azure and reload with reset

希望对您有所帮助。

Azure 机器学习 Workbench 允许使用 Docker 更灵活地设置环境。我开始使用该工具。