小编cyc*_*ter的帖子

如何使用两个相同维度的矩阵执行逐元素自定义函数

未能找到任何这方面的信息。如果我有两个维度相同的 mxn 矩阵,有没有办法在 numty 中对它们应用逐元素函数?为了说明我的意思:

自定义函数为 F(x,y)

第一个矩阵:

array([[ a, b],
       [ c, d],
       [ e, f]])
Run Code Online (Sandbox Code Playgroud)

第二个矩阵:

array([[ g, h],
       [ i, j],
       [ k, l]])
Run Code Online (Sandbox Code Playgroud)

有没有办法在 numpy 中使用上述两个矩阵来获得下面所需的输出

array([[ F(a,g), F(b,h)],
       [ F(c,i), F(d,j)],
       [ F(e,k), F(f,l)]])
Run Code Online (Sandbox Code Playgroud)

我知道我可以只做嵌套for语句,但我想可能有一种更干净的方法

python numpy linear-algebra

4
推荐指数
1
解决办法
2074
查看次数

通过环境变量创建 Airflow S3 连接的 URI 格式

我已经阅读了通过环境变量创建气流连接的文档,并且正在 Debian9 上使用带有 Python3.5 的气流 v1.10.6。

上面的链接文档显示了一个示例 S3 连接s3://accesskey:secretkey@S3,我定义了以下环境变量:

AIRFLOW_CONN_AWS_S3=s3://#MY_ACCESS_KEY#:#MY_SECRET_ACCESS_KEY#@S3

以及以下功能

def download_file_from_S3_with_hook(key, bucket_name):
    """Get file contents from S3"""
    hook = airflow.hooks.S3_hook.S3Hook('aws_s3')
    obj = hook.get_key(key, bucket_name)
    contents = obj.get()['Body'].read().decode('utf-8')
    return contents
Run Code Online (Sandbox Code Playgroud)

但是,当我调用该函数时,出现以下错误:

Using connection to: id: aws_s3.
    Host: #MY_ACCESS_KEY#,
    Port: None,
    Schema: #MY_SECRET_ACCESS_KEY#,
    Login: None,
    Password: None,
    extra: {}
ERROR - Unable to locate credentials
Run Code Online (Sandbox Code Playgroud)

看来,当我根据 Airflow 的文档格式化 URI 时,它将访问密钥作为主机,将秘密访问密钥作为模式。

它清楚地读取环境变量,因为它具有正确的conn_id. 它也有我的访问密钥和秘密的正确值,它只是将它放在错误的字段下。

当我在 UI 中设置连接时,如果我设置Login为我的访问密钥和Password我的令牌,该功能将起作用。那么我如何格式化我的环境变量 URI 错误?

amazon-s3 airflow

1
推荐指数
1
解决办法
1469
查看次数

标签 统计

airflow ×1

amazon-s3 ×1

linear-algebra ×1

numpy ×1

python ×1