日時インデックスと価格を含む単純な (そして長い) Panda DF があります。新しい列 ['ewm_12'] を作成しようとしています。この列は、120 分ごとに前の 11 行を選択し、現在の価格を追加して ewm を計算します。
次のコードを使用して、DF が長いため、ベクトル化された方法で実行しようとしています。
dftemp['ewm_12'] = dftemp.loc[dftemp.index::120][-11:].append(dftemp.loc[(dftemp.index)])[dfs].ewm(min_periods=12,span=12, adjust = True).mean()[-1:][0]
TypeError: 入力を変換できません [DatetimeIndex(['2018-01-01 22:00:00+00:00', '2018-01-01 22:01:00+00:00','2019-01-18 22 :00:00+00:00'],dtype='datetime64[ns, Europe/London]', length=394561, freq=None)] タイムスタンプのタイプ
これは非常に奇妙に思えますが、dftemp.index を 1 行だけ選択すると Timestamp が返されますが、df.index 全体を反復処理するように要求すると、Datetimeindex (Timestamps のコレクション) を変換できないと表示されます。 forループを使用しますが、数分かかります。誰かがplsの助けを知っている場合、方法があるに違いないと確信しています