如何按摩numpy函数参数

时间:2015-12-29 09:33:22

标签: python numpy

不幸的是,不可能通过inspect获取numpy函数参数,因为它们不是python代码。但是,从手册中我们可以轻松检索

等描述
 uniform([low, high, size])
 triangular(left, mode, right[, size])

为了链接到Excel,将它们转换为

就足够了
 uniform(low=None, high=None, size=None)
 triangular(left, mode, right, size=None)

我确信这种转换可以自动化,但我对Python中的字符串处理知识很少,并且欢迎任何有关如何操作的建议。

1 个答案:

答案 0 :(得分:1)

理想情况下,您可以使用inspect来执行此操作(我建议您查看此模块),但快速而有点肮脏的方法是解析所需方法的文档字符串。这会以您想要的格式提供大多数方法原型(取决于文档字符串的编写方式),然后您可以手动清理其他方法:

import numpy as np

for method_name, method in np.random.__dict__.items():
    try:
        docstring_lines = method.__doc__.split('\n')
    except (AttributeError,):
        continue
    if len(docstring_lines) == 0:
        continue
    for line in docstring_lines:
        if method_name in line:
            print(line.strip())
            break

e.g。

power(a, size=None)
get_state()
multivariate_normal(mean, cov[, size])       # <-- NB needs cleaning up
gamma(shape, scale=1.0, size=None)
random_sample(size=None)
random_sample(size=None)
standard_cauchy(size=None)
choice(a, size=None, replace=True, p=None)
...