去除楠我想提出哪些返回中位值的列表列表的功能,下面是我的例子:如何找到在列表中位數可以用Python
y=[1,3,3,4,5,0,0,0,0,0,0,0,0,1,2,2,4,5,0,0,0,0,0,1,3,4,5,4,2,0,0,0,0,0,1,4,5,2,4]
我想要計算每個元素的中位數,在我的情況下,這不是零答案將是 [3.0, 2.0, 3.5, 4.0]
我寫了下面的函數,但我確定它不是最特別的pythonic方式,我收到我正在計算的警告(「空片的平均值」)
def my_func(list1):
median = 0
list2 = []
total = []
for i in list1:
if i != 0:
total.append(i)
else:
median = np.median(total)
list2.append(median)
newList = [i for i in list2 if not math.isnan(i)]
total = []
return (newList)
有沒有其他可行的方法來做同樣的操作。
非常感謝它似乎工作,我需要檢查迭代工具更 – Robin
是,itertools是一個真棒模塊:) – Copperfield