
[英]reducelist in Python: like reduce but giving the list of intermediate results
[英]Fill or reduce list intermediate values in python
我有很多带有序列坐标但长度不同的列表。 我需要创建 function 来预处理这个列表并返回一个长度为 30 的列表,其中填充了中间值或减少(并重新计算)。
例如,对于 10 长度输出(填充):
input = [1, 3, 5, 7, 9, 8, 5, 4] # length = 8
output = [1, 2.3, 3, 5, 7, 9, 8, 6.3, 5, 4] # length = 10
对于 10 长度输出(减少):
input = [1, 3, 4, 5, 6, 7, 8, 9, 8, 6, 5, 4] # length = 12
output = [1, 2.5, 3.9, 5, 6.5, 7.9, 8.8, 6.5, 5, 4] # length = 10
我想做这样的事情,抱歉解释不当
def normalize_length_of_sequence(sequence, sequence_length=30):
if len(sequence) < sequence_length:
while len(sequence) != sequence_length:
diff_in_seq_ind = np.diff(sequence).argmax()
new_mean_walue = (sequence[diff_in_seq_ind] + sequence[diff_in_seq_ind+1]) / 2
sequence.insert(diff_in_seq_ind + 1, new_mean_walue)
elif len(sequence) > sequence_length:
while len(sequence) != sequence_length:
diff_in_seq_ind = np.abs(np.diff(sequence)).argmin()
sequence.pop(diff_in_seq_ind)
return sequence
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.