云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云数据库_cad服务器_免费

小七 141 0

几分钟后,当我向一位数据科学家介绍数据智能建模者的数据处理时,我就得到了如何支持熊猫的问题。Pandas是Python的"高性能、易于使用的数据结构和数据分析"(citation)软件包,任何数据科学家都不能忽视,除非她仍然是一个R-aficiade.

我通常的回答是:"你可以将任何你喜欢的软件包添加到docker容器中,通过自定义Python操作符,大数据专业怎么样,你可以随心所欲地使用它们。当然,熊猫是开发更精细的数据分析操作符的首选工具。不用说,在使用ML场景管理器的Jupyter笔记本时,您总是使用Pandas。你可以用熊猫做更多的分析。它的多功能性和性能使其成为数据转换的理想工具。特别是当标准数据转换运算符不能提供您所需的所有功能时。

下面我将介绍如何将pandas与SAP data Intelligence结合使用,并介绍我编写的一些帮助器功能。

到数据帧从CSV

第一步,当使用熊猫是转换成数据帧格式的数据。因为在我所有的项目中,源格式都是CSV,所以我只编写了一个操作符,期望从读取操作符端口"outFile"输出CSV(字节编码)。

"Read File"连接操作符涵盖了大量的连接类型,并提供了非常有用的功能,比如用正则表达式轮询和选择文件。后者非常有用,因为您可以将数据分成更小的文件,其中文件名对日期或数据范围等含义进行编码,作为开始使用更精细的技术(如拼花地板)之前的中间步骤。

示例

操作员还使用消息属性提供元数据信息,帮助您确定将提供多少文件。

接收操作员应处理这些功能,物联网断路器,这意味着基本上收集所有数据和数据在将其发送到输出端口之前,将其添加到数据帧中。

我编写了一个运算符,它使用pandas方法read\u csv读取接收数据,并将一些参数放入api.config文件. 如果需要其他的,您可以下载并更改fromCSV(GitHub)的代码。

从DataFrame到CSV

将DataFrame数据传递给WriteFile操作符不那么复杂。使用熊猫.to_csv还有几个参数,你可以很容易地创建这个操作符或者使用我开发的操作符。

传递数据

既然你已经创建了入口端口–创建数据帧–并且能够写回它们,你需要一种基于数据帧的工作操作符,首先你需要就如何传递数据帧达成一致。我决定使用信封模式的消息。有了这个dictionary数据类型,我可以将元数据放在"attributes"元素中,并将DataFrame添加到"body"中,而无需进行数据转换。多亏了数据智能架构师,管道默认在一个Docker容器中运行,前提是所有操作员标记都包含在一个Docker映像中。此外,pipelinemodeler中还具有"分组"功能,可以显式地强制容器生成器这样做。这意味着一个容器中的运算符共享相同的内存空间,并且可以处理基本上共享数据帧的内存地址的情况。

为了确保只有pandas运算符可以插在一起,我创建了一个标准数据类型消息的子类型

这只不过是作为数据类型提供给输入和输出的名称操作符和建模器的输出端口测试名称是否匹配。您可以通过端口节点的颜色编码来检测特殊的数据类型。E、 g.在"从CSV"中,操作员颜色参考

粉色-标准信息黄色-消息.数据帧turquoise–string

配置参数

许多为重用而设计的操作符都是pandas方法的包装器,例如read\u csv()、to\u csv()、drop()、fillna、merge(),…因此,我们必须处理数据智能运算符和Python函数调用之间的基本语法差异。

第一个差异没有进一步的复杂化,因为我们有一个定义良好的数据处理模式,通过管道发送数据帧。我们基本上不必思考什么是数据,什么是参数,因此把这个更哲学的问题放在一边。有时,如果参数更复杂,则出于方便的原因,人工智能书,将其指定为数据,但稍后我将介绍如何处理此问题。

第二个和第三个差异需要更多考虑。

当您首次设计pandas运算符时,您可能会从pandas函数参数列表中选择参数,具体取决于数据处理的特定要求。但是您需要向操作符配置添加其他参数,这不会花费太长时间。特别是像low\u memory=True或error\u bad\u lines=False之类的小参数可能非常烦人。您可能只需要这些参数一次或仅用于测试目的,但添加这些参数需要一些努力,而且它们会使您的配置窗格发生冲突。

在解决此问题之前,我经历了一些痛苦。现在我只将核心参数添加到操作符配置中,而将所有其他参数保留到一个特定的"关键字参数"文本字段中。

使用这种设计模式,我拥有了所有的灵活性,比如直接调用pandas函数,而无需任何开发工作。运算符脚本中的调用看起来像:

要将所有参数放在textfield中,您需要一个解析器,这就引出了如何传递更复杂结构的参数的第三个要求。

有些参数需要原始类型以外的数据类型(整数、浮点数、布尔值和字符串)。特别是pandas函数经常需要数组、字典和嵌套字典,例如

usecols参数熊猫.read\u csv:列名数组的映射器参数熊猫.重命名:字典替换的参数1.更换:nested dictionary