【发布时间】:2022-01-10 13:05:45
【问题描述】:
所以我创建了一个类Calculate,我将在其中实现三个函数,number(self,r)、reoccurence(self) 和var(self)....
number(self,r) 将计算并返回第 r 个百分位数的值
集合中的数据,其中 r 是 [0, 100) 中的整数(即不包括 100 但包括 0)。
对于这个问题,这是位置 (r/100)*len(list) 的值,列表称为self.items
例如,对于数据集合 [4, 2, 8, 7, 3, 1, 5], 第 98 个百分位值是 8,因为集合一旦排序是
[1, 2, 3, 4, 5, 7, 8] 和 b [(98/100)*7] == 6,列表中的第六个变量是8。
reoccurence(self) 将计算名为 self.items 的列表的模式
var(self) 将返回列表 self.items 的标准差...
到目前为止,这是我的代码,但还不能完全正常工作...我应该对此进行哪些更改?
class Calculate:
def __init__(self, items):
self.items = list(items)
def number(self,r):
return self.items[(r/100)*len(sorted(self.items))]
def reoccurence(self):
m = max([self.items.count(a) for a in self.items])
return [x for x in self.items if self.items.count(x) == m][0] if m > 1 else None
def var(self):
n = len(self.items)
mean = sum(self.items) / n
var = sum((x - mean) ** 2 for x in self.items) / n
std_dev = var ** 0.5
return std_dev
我应该对我的代码进行哪些更改以确保它有效??
【问题讨论】:
标签: python list function tuples