2
DataFrame
の各列から、毎週最も頻繁に値を取得したいのはdatetime
です。 DataFrame
のエントリがすべてint
またはfloat
のときにこれを行うことができます。しかし、データ型がint
またはfloat
であることを利用しない一般的な方法を探しています。ここ パンダのDataFrameでの週単位の操作
はDataFrame
内の各エントリは、例えば、あるtuple
:これは内週最も頻繁タプルからなるDataFrame
に変換されなければならない
2015-11-15 00:00:00 (3, 10.0, 0) nan
2015-11-16 00:00:00 nan nan
2015-11-17 00:00:00 nan nan
2015-11-18 00:00:00 (3, 10.0, 0) nan
2015-11-19 00:00:00 (3, 10.0, 0) nan
2015-11-20 00:00:00 (4, 8.2, 0) nan
2015-11-21 00:00:00 (4, 8.2, 0) nan
2015-11-22 00:00:00 (4, 8.2, 0) (1, 1.4, 1)
2015-11-23 00:00:00 (3, 18.0, 1) (3, 10.0, 0)
2015-11-26 00:00:00 (4, 8.2, 0) (1, 1.4, 1)
2015-11-27 00:00:00 (4, 8.2, 0) (3, 10.0, 0)
2015-11-28 00:00:00 nan (1, 1.4, 1)
2015-11-29 00:00:00 (4, 8.2, 0) (3, 10.0, 0)
2015-11-30 00:00:00 (4, 8.2, 0) (1, 1.4, 1)
次のよう
2015-11-15 00:00:00 (3, 10.0, 0) nan
2015-11-22 00:00:00 (4, 8.2, 0) (1, 1.4, 1)
私の好みは効率性です。スピードは私のアプリケーションでは本当に重要です。
EDIT
3046920017503 3046920017541
index
2015-11-15 NaN NaN
2015-11-16 NaN NaN
2015-11-17 NaN NaN
2015-11-18 NaN NaN
2015-11-19 NaN NaN
2015-11-20 NaN NaN
2015-11-21 NaN NaN
2015-11-22 NaN NaN
2015-11-23 NaN NaN
2015-11-24 NaN NaN
2015-11-25 NaN NaN
2015-11-26 NaN NaN
2015-11-27 NaN NaN
2015-11-28 NaN NaN
2015-11-29 NaN NaN
2015-11-30 NaN NaN
2015-12-01 (3, 10.0, 0) (3, 10.0, 0)
2015-12-02 (3, 10.0, 0) (3, 10.0, 0)
2015-12-03 (3, 10.0, 0) (3, 10.0, 0)
2015-12-04 (3, 10.0, 0) (3, 10.0, 0)
2015-12-05 (3, 10.0, 0) (3, 10.0, 0)
2015-12-06 (3, 10.0, 0) (3, 10.0, 0)
をに変換する必要があります。
2015-11-15 NaN NaN
2015-11-22 NaN NaN
2015-11-29 (3, 10.0, 0) (3, 10.0, 0)
しかし、この方法は、収量を提案:
3046920017503 3046920017541
index
2015-12-05 (3, 10.0, 0) (3, 10.0, 0)
2015-12-12 (3, 10.0, 0) (3, 10.0, 0)
とを扱うことができる
apply
に関数を渡します。なぜあなたの出力データフレームに最後の2行があるのでしょうか?私の考えでは、出力テーブルのインデックスは、最も頻繁に発生する週の最初の日を表す必要があります。 – splinter正確に私が探していたもの、特に週のカスタム選択曜日に終了することを許可するための改正で。 – splinter
私はいくつかの週数の間、すべての日数のデータを持つruplesとnansだけで構成されるデータフレームでメソッドを使用しています。しかし、出力データの週数は少なくなります。なぜこれができるのか? – splinter