私は大まかに次のようなnumpy配列を持っています:
data
array([(datetime.datetime(2009, 1, 6, 2, 30), 17924.0, 0.0),....
(datetime.datetime(2009, 1, 29, 16, 30), 35249.2, 521.25],
dtype=[('timestamp', '|O4'), ('x1', '<f8'), ('x2', '<f8')])
最初の列に基づいて (つまり、datetime オブジェクトを使用して) データのインデックスを作成できるようにしたいので、次のような特定の年/月/日のデータにアクセスできます。
data[data['timestamp'].year == 2009]
これは明らかに機能しません。私が考えることができる唯一のことは、追加の列(「年」列など)を追加することです。これでうまくいきます:
data[data['year'] == 2009]
物事を行うにはかなり非効率的な方法のようです (そして、多くのデータを複製します) - 特に、他のすべての時間間隔にもインデックスを付けたい場合...これを行うためのより良い方法はありますか?
前もって感謝します。