のために、以前の持つ要素を比較するのは、次の配列を考えてみましょう: x = np.array(["john", "john", "ellis", "lambert", "john"])
のpython、numpyの - 文字列の配列で、平等
は前に配列の各要素を比較し、ブール配列を返す方法はあります。 この例では、結果は[True,False,False,False]
になります。
これを実現する機能(np.diff
に似ています)はありますか?
のために、以前の持つ要素を比較するのは、次の配列を考えてみましょう: x = np.array(["john", "john", "ellis", "lambert", "john"])
のpython、numpyの - 文字列の配列で、平等
は前に配列の各要素を比較し、ブール配列を返す方法はあります。 この例では、結果は[True,False,False,False]
になります。
これを実現する機能(np.diff
に似ています)はありますか?
あなたはインデックス付けでこれを行うことができます。
array[:-1] == array[1:]
リストの最初の項目は、前の値と比較することはできませんし、そうnp.nan
をデフォルトにする必要があります。浮遊する入力し
>>> np.concatenate([np.array([np.nan]), x[:-1] == x[1:]])
array([ nan, 1., 0., 0., 0.])
nan
変更を含めることを:元の配列と同一の形状を維持する
。
インデックス作成を使用すると、簡単にこれを行うことができます。
import numpy as np
x = np.array(["john", "john", "ellis", "lambert", "john"])
print x[1:] == x[:-1]
==
オペランドは、ブール値を返し、この場合による2つの比較アイテムの種類にアレイに提示するので動作x[1:] == x[:-1]
ステートメント。
x[1:]
は、項目0(最初の項目)以外の配列内のすべての要素を表し、x[:-1]
は、最後の項目を除く配列内のすべての要素を表します。
スライス 'x [1:] == x [: - 1]'を使用していますか? – Divakar
これは 'list'を使っているはずです... –