preferable_output_of_dataset 我有一个由许多行组成的大型数据集,但最相关的两个是time和time_id。 (详见附件)。 Time_id可以被视为给定组的名称,time是每行的排名。 - 这些字段已在数据集中设置,无法更改。我想创建一个新字段,标记最大和最小时间'每组但同时保持所有记录。我希望我的输出看起来与附件相同。我已经能够轻松地提取最大值和最小值,但是当我尝试将所有记录保存在组中时,我遇到了问题。感谢您的帮助。
select
time
,time_id
from my_table
答案 0 :(得分:1)
from collections import defaultdict
final_list = []
lookup_map = defaultdict(lambda : -1)
for comet in sighting_list:
final_index = lookup_map[comet["name"]]
if final_index < 0:
lookup_map[comet["name"]] = len(final_list)
final_list.append(comet)
else:
final_list[final_index]["coordinates"].extend(comet["coordinates"])
无关,但是:select "time",
time_id,
case
when "time" = max(time) over (partition by time_id) then 'min'
when "time" = min(time) over (partition by time_id) then 'max'
else 'other'
end
from my_table;
是列的可怕名称。不仅因为它是一个保留字,而且因为它没有记录列的含义。它是“开始时间”,“结束时间”,“持续时间”,“偏移”......?