获取给定值列表的函数

时间:2011-10-01 19:34:01

标签: python

有没有办法可以给python一个像[1,3,4.5,1]这样的值列表,并获得一个与这些值相关的函数?比如y = 3x + 4或类似的东西?

我不想绘制它或任何东西,我只想替换该函数中的值,看看结果会是什么。

编辑:有没有办法python可以计算数据的相关性?就像我给它包含数千个值的列表一样,它返回了我调整到这些值的函数。

5 个答案:

答案 0 :(得分:3)

根据您对David Heffernan's answer的评论,

  

我想要知道值之间的关系是什么,我有数千个值存储在列表中,我想知道python是否可以告诉我它们是如何相关的。

好像你正在尝试regression analysis(可能是线性回归)并且符合这些值。

您可以在Python中使用NumPy进行线性回归分析。这是来自NumPy食谱的sample

答案 1 :(得分:1)

是的,该函数名为map()

def y(x):
    return 3*x+4

map(y, [1,3,4.5,1])

map()函数将函数应用于每个项目并返回结果列表。

答案 2 :(得分:1)

我假设你想知道序列[1, 2, 3, 4][ 1, 3, 4.5, 1](或者对[(1, 1), (2, 3), (3, 4.5), (4, 1)])是否与(线性)函数相关。

尝试绘制这些,并查看它们是否形成一个看起来像(直)线的东西。

您还可以查找相关技术。使用基本统计信息检查此网站(查看相关性: Basic Statistics

enter image description here

答案 3 :(得分:1)

根据您修改过的问题,我将继续并添加答案。不,没有这样的功能。我想你不太可能找到一个接近任何编程语言的函数。你的定义不够紧,任何事情都不合理。如果我们采用只有两个输入整数的简单情况,那么你可以拥有各种各样的关系:

[10, 1]

可能的关系:

def x(y):
  return y ** 0

def x(y):
  return y / 10

def x(y)
  return y % 10 + 1

......重复一遍。不可否认,其中一些是任意的,但它们是您传入的数组中第一个和第二个值之间的有效关系。当您要求10,15或35个数字之间的关系时,“解决方案”的可能性变得更加荒谬

答案 4 :(得分:0)

您正在寻找的是“统计回归”。有很多方法可以做到这一点;这是一个可能有用的网站:Least Squares Regression但最终,这是一个很多书都投入使用的领域。有多项式回归,触发回归,对数......在决定应用哪种模型之前,您必须先了解一些有关数据的信息;如果你在处理之前对数据集的外观没有任何了解,我建议你比较你得到的任何残差,并选择总和最低的数据。

简短回答:不,没有功能。