我想评估对体育比赛的估计——在我的例子中是足球(即足球)比赛。我想用Python来做这个。在
基本上,总有team_home
结果,team_away
结果,estimate_home
和{}。例如,一个游戏结束了1:0
,估计值是0:0
-这将返回wrong
。在
只有四种可能的情况和结果:
- ^{cd7>如上所述
tendency
对胜利者的估计是正确的,但不是目标差(例如3:0
)goal difference
为正确的目标差异,例如2:1
right
得到精确的右估计
在Python中处理估计和结果的最优雅的方法是什么?在
Tags:
这是一个更紧凑、更对称的函数。这就是你所说的“优雅”吗?在
首先,我建议你考虑一下你会有什么样的问题?i、 e
我想你至少想做前两个!在
我试图使代码可读/简单,但在许多方面它比其他答案复杂得多,但它也为您提供了一个完整的工具箱,您可以使用它来处理大量数据,非常快速。所以把它当作另一种选择:)
基本上,如果你想的话,你也可以在将来做更多的统计工作。但实际上,这些问题确实会影响你问题的答案(或者更确切地说:最适合这里的答案)。在
我假设您有一个数据库(relational/mongodb/whatever),我在这里通过添加列表来伪装它。尽管我在这里使用的是pandas,但是这里描述的大多数事情也可以在关系数据库中以非常简单的方式完成。但是熊猫是岩石;)所以这也会很好的工作。如果你用excel或csv文件和朋友做一些事情,你也可以直接使用pandas read_csv或read_xls导入这些文件
正如我所说,这主要是为了给Python中数据操作的可能性提供一个不同的观点/想法。一旦你开始认真对待大量的数据,这种(基于向量/数字/熊猫的)方法将是最快的,但你必须扪心自问,你想在数据库内部和外部执行什么逻辑,等等
希望这有帮助!在
另一个答案,反映了我对优雅的看法(我同意,这是一个相当主观的参数)。我希望我的对象由类定义,在构建时考虑到OOP,并使用管理对象之间关系的ORM。这带来了许多优点和更清晰的代码。在
我在这里使用的是pony ORM,但是还有很多其他优秀的选项(最终会有更多的许可证),比如SQLAlchemy或{a5}。在
下面是一个完整的示例—首先我们定义模型:
使用这些类,您可以创建和更新您的比赛,球员,赌注数据库。 如果需要统计和数据聚合/排序,可以根据需要查询数据库。在
^{pr2}$如果你愿意的话,你最终甚至可以使用numpy整合非常复杂的时间序列数据分析,就像Carst建议的那样,但是我相信这些添加的内容——尽管非常有趣——对你最初的问题来说有点不太好。在
相关问题 更多 >
编程相关推荐