[英]Making two arrays the same size by grouping
我有 2 个大小相同的数组,第一个表示时间,第二个表示我想按第一个分组的距离,因此每个组将只有相同的整数值(两个整数之间的浮点数)
这是我的原始时间数组:
time=[0.2,0.4,0.6,0.8,1,1.2,1.4,1.6,1.8,1.9]
这是我的距离数组:
distance=[1,2,4,5.5,7.8,9.6,10,11,11.6,11.9]
所以在按相同整数分组后的时间数组中,我得到了这个:
time=[0.2,0.4,0.6,0.8],[1,1.2,1.4,1.6,1.8,1.9]
第一个子组包含4 elements
,第二个子组包含6 elements
因此距离组应包含4 then 6 elements
,如下所示:
distance=[1,2,4,5.5],[7.8,9.6,10,11,11.6,11.9]
所以每个组的大小将与距离组的大小相同
任何想法或帮助?
以下代码执行您想要的操作:
s=set([int(i) for i in time])
timesplit={i:[] for i in s}
for i in time:
k=int(i)
timesplit[k].append(i)
timelengths=[len(i) for i in timesplit.values()]
distances=[]
for i in timelengths:
distances.append(distance[:i])
distance=distance[i:]
res_times=list(timesplit.values())
res_distances=distances
print(res_times)
print(res_distances)
输出:
[[0.2,0.4,0.6,0.8],[1,1.2,1.4,1.6,1.8,1.9]]
[[1,2,4,5.5],[7.8,9.6,10,11,11.6,11.9]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.