との差に基づいて、アレイの行を結合し、Iが与えられてい言う(N、2)のために、セグメントの開始と終了指標の一連の記録numpyのアレイ例n = 6:パイソン:前の行の最後の要素と後部行の最初の要素タイトルとして
import numpy as np
# x records the (start, end) index pairs corresponding to six segments
x = np.array(([0,4], # the 1st seg ranges from index 0 ~ 4
[5,9], # the 2nd seg ranges from index 5 ~ 9, etc.
[10,13],
[15,20],
[23,30],
[31,40]))
ここでは、これらのセグメントを小さな間隔で結合したいと考えています。たとえば、間隔が1より大きい全くない場合の連続セグメントをマージし、所望の出力は次のようになります
y = np.array([0,13], # Cuz the 1st seg's end is close to 2nd's start,
# and 2nd seg's end is close to 3rd's start, so are combined.
[15,20], # The 4th seg is away from the prior and posterior segs,
# so it remains untouched.
[23,40]) # The 5th and 6th segs are close, so are combined
出力セグメントはわずか3の代わりに6であることが判明するであろうように。 何か提案がありがとうございます!
あなたは 'numpy'ソリューションをしたいか、どんな解決策がokですか? –
'numpy'はとにかく好きです:) – Francis
@Thomasしかし、numpy以外の方法は素晴らしいでしょう – Francis