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

use*_*237 3 python azure pandas anaconda azure-machine-learning-studio

我真的想要访问pandas 0.19中的一些更新函数,但Azure ML studio使用pandas 0.18作为Anaconda 4.0软件包的一部分.有没有办法更新"执行Python脚本"组件中使用的版本?

Jay*_*ong 6

我提供以下步骤,以显示如何更新pandas库的版本Execute Python Script.

步骤1:使用该virtualenv组件在您的系统中创建一个独立的python运行时环境.pip install virtualenv如果您没有它,请先使用命令安装它.

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

在此输入图像描述

第2步:运行commad以创建独立的python运行时环境.

在此输入图像描述

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

请不要关闭此命令窗口,并使用此命令窗口pip install pandas==0.19下载外部库.

在此输入图像描述

第4步:将Lib/site-packages文件夹中的所有文件压缩成zip包(我称之为pandas - package here)

在此输入图像描述

步骤5:将zip包上载到Azure Machine Learning WorkSpace DataSet中.

在此输入图像描述

具体步骤请参考技术说明.

成功后,您将在DataSet列表中看到上传的包

在此输入图像描述

步骤6:在azureml_main执行Python脚本模块中定义方法之前,您需要删除旧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):
Run Code Online (Sandbox Code Playgroud)

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

[Information]         0.14.0
[Information]         0.19.0
Run Code Online (Sandbox Code Playgroud)

您还可以参考这些线程:使用Azure中的时间戳访问blob文件,使用重置重新加载.

希望它能帮到你.