1
私は、タイムスタンプインデックス(数万のアイテム)といくつかのイベントに対応するタイムスタンプのリストを持つデータフレームを持っています。私は数分のイベントのいずれかの前に、N起こるデータフレームからすべての項目をマークする必要があるので、私は次のコードを書いた:パンダ.loc複数の割り当てと単一のもの
for timestamp in events:
df.loc[timestamp - timespan : timestamp, 'is_before_event'] = True
それは非常に遅いことが判明したので、私は最初のインデックスを構築しようとしましたそれらのすべてに変更する必要があり、その後、単一代入を行うすべての要素:
for timestamp in events:
temp_index = temp_index.append(df.loc[timestamp - timespan : timestamp].index)
df.loc[df.index.isin(temp_index), 'is_before_event'] = True
このコードは、少なくとも100倍速い私の最初の試みよりも実行されます。
なぜこのような場合、この場合、割り当てを行う適切な方法は何ですか?