以下是一个示例代码,用于按照单个日期获取中位数:
import statistics
def get_median(data):
data.sort()
n = len(data)
if n % 2 == 0:
median = (data[n//2-1] + data[n//2]) / 2
else:
median = data[n//2]
return median
def get_median_by_date(data, date):
date_data = [item for item in data if item[0] == date]
values = [item[1] for item in date_data]
median = get_median(values)
return median
# 示例数据
data = [("2021-01-01", 10), ("2021-01-01", 20), ("2021-01-02", 30), ("2021-01-02", 40)]
date = "2021-01-01"
median = get_median_by_date(data, date)
print(f"The median for date {date} is {median}")
在上面的示例中,我们定义了两个函数:get_median
用于计算给定列表的中位数,get_median_by_date
用于按照指定日期从给定数据中获取中位数。
在示例数据中,我们有四个数据项,每个数据项包含日期和值。我们调用get_median_by_date
函数来获取指定日期的中位数,并将结果打印出来。
请注意,在实际使用时,你可能需要根据你的数据结构和需求进行适当的修改。这只是一个简单的示例,供你参考。
下一篇:按当前日期对数组进行排序