繁体   English   中英

通过分组使两个数组具有相同的大小

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM