首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataNitro中用户定义的数组公式

DataNitro中用户定义的数组公式
EN

Stack Overflow用户
提问于 2016-05-29 03:14:22
回答 1查看 108关注 0票数 1

我创建了一个python函数来对矩阵进行指数化,并使用DataNitro将其作为用户定义的函数导入到Excel中。然而,当我使用这个公式时,我会在一个单元格中得到一个python列表的结果。

是否可以使用类似于MMULT或MINVERSE行的DataNitro为excel创建数组公式?

下面是我的python代码和excel工作表的快照:

functions.py

代码语言:javascript
复制
import numpy as np

def mat_expo(x,n):
    if(n==2):
        return mat_mult(x,x)
    else:
        return mat_mult(x,mat_expo(x,n-1))

def mat_mult(x,y):
    return np.dot(x,y)

Excel表格:

我的excel表

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-29 19:00:06

无法从一个DataNitro函数返回多个单元格。您可以得到如下相同的结果:

代码语言:javascript
复制
def mat_expo_entry(x, n, i, j):
    return mat_expo(x, n)[i][j]

在单元格B7:D9中的示例电子表格中使用B7:D9以正确打印输出。

如果速度慢,可以使用Python内置的lru缓存存储答案:

代码语言:javascript
复制
from functools32 import lru_cache # use 'functools' in Python3

@lru_cache
def mat_expo(x,n):
if(n==2):
    return mat_mult(x,x)
else:
    return mat_mult(x,mat_expo(x,n-1))

或者,您可以使用DataNitro脚本直接将结果打印到工作表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37505810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档