パンダのデータフレームを開始時刻と終了時刻の間でタイムスタンプにフィルタリングし、それらの条件が満たされたときに指定された列の行に値を配置しようとしています。私は数百のアイテムが共存しており、スケーラブルな方法でそれをしようとしています。値を指定された行に配置し、次の条件に移動して項目をそれらの行に配置するという予想される動作を私に与えることはありません。代わりに、コードを実行するたびに、最後の値を上書きします。下記の擬似コードをご覧ください。これに対処する方法については、どんな考えやアイディアも参考になります。パンダでデータフレームに値をフィルタリングして配置する
注:私はapplyメソッドを使用することを考えましたが、何百万行ものデータをループするために必要な400×60の異なる値があります。したがって、フィルタリングの方法が最も有利なようです。
transactional_df[(transactional_df.timestamp > start1) & (transactional_df.timestamp < stop1)]['new_col'] = item1
transactional_df[(transactional_df.timestamp > start2) & (transactional_df.timestamp < stop2)]['new_col'] = item2
望ましい結果:
transactional_df.col1...new_col
Condition1 Met item1
Condition2 Met item2
はゼロの答えhttps://stackoverflow.com/questions/46179362/fastest-way-to-merge-pandas-dataframe-on-ranges – Wen