我有一个包含许多条目的Python列表,我需要使用以下任一选项进行降采样:
(我需要能够同时使用两种方法,但一次只能使用一种)。
我相信,对于最大的行数,我可以只计算所需的比例并将其传递给比例缩小器:
def downsample_to_max(self, rows, max_rows):
return downsample_to_proportion(rows, max_rows / float(len(rows)))
...所以我真的只需要一个下采样功能。有什么提示吗?
编辑:该列表包含对象,而不是数字值,因此我不需要进行插值。放下物体很好。
解决方案:
def downsample_to_proportion(self, rows, proportion):
counter = 0.0
last_counter = None
results = []
for row in rows:
counter += proportion
if int(counter) != last_counter:
results.append(row)
last_counter = int(counter)
return results
谢谢。
最佳答案
保留一个计数器,您将其增加第二个值。每次对其进行下限,并在该索引处产生值。
关于python - 对列表中的条目数进行下采样(无插值),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3012721/