【发布时间】:2021-09-29 23:26:21
【问题描述】:
所以我有一个dataset,其中包含从开始到结束日期的特定标签的历史记录。我正在尝试根据日期列比较行,如果它们按月、日和年相似,我将通过下一列的值将它们添加到临时列表中,然后一旦我通过相似的方式获得这些项目日期,我将使用该列表并找到 min/max 值减去它们,然后将结果添加到另一个列表并清空 temp_list 以重新开始。
为了时间和简单起见,我只是提供一个 2D 列表的示例。这是我的示例数据
dataset = [[1,5],[1,6],[1,10],[1,23],[2,4],[2,8],[2,12],[3,10],[3,20],[3,40],[4,50],[4,500]]
第一列将充当dates,第二列将充当value。
我遇到的问题是:
- 我似乎无法根据第一列比较每一行,这将采用第二列中的值并将其包含在临时列表中以执行最小/最大操作?
- 根据上面的二维列表,我希望得到
[18,8,30,450],但结果是[5,4,10]
dataset = [[1,5],[1,6],[1,10],[1,23],[2,4],[2,8],[2,12],[3,10],[3,30],[3,40],[4,2],[4,5]]
temp_list = []
daily_total = []
for i in range(len(dataset)-1):
if dataset[i][0] == dataset[i+1][0]:
temp_list.append(dataset[i][1])
else:
max_ = max(temp_list)
min_ = min(temp_list)
total = max_ - min_
daily_total.append(total)
temp_list = []
print([x for x in daily_total])
【问题讨论】:
标签: python python-3.x list dataset