パンダはタイムスタンプをTimeGrouper頻度グループにバケットします

ゲオルク・ハイラー

パンダにDateTimeインデックス付きのデータフレームがあります。タイムpd.Grouper(freq='360Min')グループでグループ化する場合、この結果を元のタイムスタンプに結合するにはどうすればよいですか?つまり、等結合のタイムスタンプ=バケットは機能しませんか?便利な機能はありますか?asof結合を使用する必要がありますか?または、手動で時間を抽出して、それを一致させようとする必要がありますか?

例:

のソースのために

import pandas as pd
df = pd.DataFrame(
   {
       "Publish date": [
            pd.Timestamp("2000-01-02"),
            pd.Timestamp("2000-01-02"),
            pd.Timestamp("2000-01-09"),
            pd.Timestamp("2000-01-16")
        ],
        "ID": [0, 1, 2, 3],
        "Price": [10, 20, 30, 40]
    }
)

それは与える:

  Publish date  ID  Price
0   2000-01-02   0     10
1   2000-01-02   1     20
2   2000-01-09   2     30
3   2000-01-16   3     40

任意の頻度(月、日、時間だけでなく)で集計を実行したい、たとえば1

month.

agg_result = df.groupby(pd.Grouper(key="Publish date", freq="1M")).agg([pd.Series.mean, pd.Series.median]).reset_index()
agg_result.columns = ['_'.join(col).strip() for col in agg_result.columns.values]
agg_result.columns = ['Publish date month', 'ID_mean', 'ID_median', 'Price_mean', 'Price_median']
print(agg_result)
Publish date month  ID_mean  ID_median  Price_mean  Price_median
0         2000-01-31      1.5        1.5          25            25

エクイジョインが再び機能することを確認するにはどうすればよいですか?つまり、同じ任意の頻度を使用して、元のタイムスタンプをフィッティングバケットに変換しますか?

つまり、例のコードで説明されているように、どうすれば取得できますか?

agg_result['Publish date month'] = agg_result['Publish date'].apply(magic transform to same frequency bucket)
df.merge(agg_result, on['Publish date month'])

動作するには、つまり、適切なバケットへの変換を定義しますか?

アダム・ゼルディン

編集:

各グループに対応する元の値を識別する最も簡単な方法は、次のとおりです。

gb = df.groupby(pd.Grouper(key="Publish date", freq="1M"))
dict(list(gb['Publish date']))

次に、これを使用して、任意の情報を元のテーブルに結合し直すことができます。


2つの中間列で結合できますか?

df['Publish date'].dt.month

そして

df.groupby(pd.Grouper(key="Publish date", freq="1M")).agg([pd.Series.mean, pd.Series.median]).index.month

このような

results =  df.groupby(pd.Grouper(key="Publish date", freq="1M")).agg([pd.Series.mean, pd.Series.median])

results.columns = ['-'.join(col[::-1]).strip() for col in results.columns]

df['month'] = df['Publish date'].dt.month

results['month'] = results.index.month
results.merge(df)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パンダ行を異なるタイムバケットにグループ化する方法は?

分類Dev

パンダはインデックスレベル内で頻度をリサンプリングします

分類Dev

各グループの頻度に従ってデータフレームをパディングします

分類Dev

パンダはタイムスタンプの近さによってグループを形成します

分類Dev

頻度に応じてタイムスタンプを「リサンプリング」します

分類Dev

numpyまたはpandasを使用して、タプルのリストからバイグラムの頻度マトリックスを作成します

分類Dev

スコアリストをバケット化し、パンダデータフレームの日付で効果的にグループ化する方法

分類Dev

Jenkinsスクリプトパイプラインはグローバルタイムスタンプオプションを使用します

分類Dev

タイムスタンプをbuilspec.yamlファイルのS3バケットフォルダーに追加します

分類Dev

C ++にトランスパイルされたカスタム言語ソースをデバッグしてステップインする方法は?

分類Dev

パンダ-タイムバケット内の行のグループ化

分類Dev

オートマッパーは、カスタムメンバーマッピングの既存のサブタイプマッピングを参照します

分類Dev

パンダのデータフレーム列内の単語を別の列でグループ化して、頻度/数を取得します

分類Dev

パンダはタイムスタンプとIDとカウントでグループ化されます

分類Dev

タスクスケジューラコンソールアプリケーションは、プログラムの再実行を防ぐ例外でジャストインタイムデバッガを表示します

分類Dev

ワニスはグーグルモバイルテスターのデスクトップサイトをレンダリングしています

分類Dev

パンダは、列とインデックスの隣接関係によってデータフレームをグループ化します

分類Dev

データフレーム行をパンダグループバイのリストにグループ化する方法は?

分類Dev

ブルームバーグからサプライチェーンデータ(SPLC)をエクスポートするためにBlpapi / Pdblpなどのパッケージを使用した人はいますか?

分類Dev

パンダ:グループ化されたデータフレームで1日の頻度の倍数である日付を選択しますか?

分類Dev

TimeGrouperとデータをオーバーラップするPythonパンダ

分類Dev

terraform自動スケーリンググループはタイムアウトを破棄します

分類Dev

ラムダをダバグしたいのですが、パイプラインスタックによってデプロイされた場合、cdkシンセにはラムダリソースが含まれていません

分類Dev

パンダのタイムスタンプに沿って合計をグループ化する方法は?

分類Dev

パンダは別のデータフレーム列の列値の頻度をカウントします

分類Dev

ループバックは未知のミックスインを使用します:タイムスタンプ

分類Dev

自動スケーリング グループ インスタンスをロード バランサーに直接アタッチします。

分類Dev

Sitecoreレンダリングパイプラインを使用したままのSitecoreMVCカスタムルート

分類Dev

タイムスタンプをRの頻度ビン時系列に変換しますか?

Related 関連記事

  1. 1

    パンダ行を異なるタイムバケットにグループ化する方法は?

  2. 2

    パンダはインデックスレベル内で頻度をリサンプリングします

  3. 3

    各グループの頻度に従ってデータフレームをパディングします

  4. 4

    パンダはタイムスタンプの近さによってグループを形成します

  5. 5

    頻度に応じてタイムスタンプを「リサンプリング」します

  6. 6

    numpyまたはpandasを使用して、タプルのリストからバイグラムの頻度マトリックスを作成します

  7. 7

    スコアリストをバケット化し、パンダデータフレームの日付で効果的にグループ化する方法

  8. 8

    Jenkinsスクリプトパイプラインはグローバルタイムスタンプオプションを使用します

  9. 9

    タイムスタンプをbuilspec.yamlファイルのS3バケットフォルダーに追加します

  10. 10

    C ++にトランスパイルされたカスタム言語ソースをデバッグしてステップインする方法は?

  11. 11

    パンダ-タイムバケット内の行のグループ化

  12. 12

    オートマッパーは、カスタムメンバーマッピングの既存のサブタイプマッピングを参照します

  13. 13

    パンダのデータフレーム列内の単語を別の列でグループ化して、頻度/数を取得します

  14. 14

    パンダはタイムスタンプとIDとカウントでグループ化されます

  15. 15

    タスクスケジューラコンソールアプリケーションは、プログラムの再実行を防ぐ例外でジャストインタイムデバッガを表示します

  16. 16

    ワニスはグーグルモバイルテスターのデスクトップサイトをレンダリングしています

  17. 17

    パンダは、列とインデックスの隣接関係によってデータフレームをグループ化します

  18. 18

    データフレーム行をパンダグループバイのリストにグループ化する方法は?

  19. 19

    ブルームバーグからサプライチェーンデータ(SPLC)をエクスポートするためにBlpapi / Pdblpなどのパッケージを使用した人はいますか?

  20. 20

    パンダ:グループ化されたデータフレームで1日の頻度の倍数である日付を選択しますか?

  21. 21

    TimeGrouperとデータをオーバーラップするPythonパンダ

  22. 22

    terraform自動スケーリンググループはタイムアウトを破棄します

  23. 23

    ラムダをダバグしたいのですが、パイプラインスタックによってデプロイされた場合、cdkシンセにはラムダリソースが含まれていません

  24. 24

    パンダのタイムスタンプに沿って合計をグループ化する方法は?

  25. 25

    パンダは別のデータフレーム列の列値の頻度をカウントします

  26. 26

    ループバックは未知のミックスインを使用します:タイムスタンプ

  27. 27

    自動スケーリング グループ インスタンスをロード バランサーに直接アタッチします。

  28. 28

    Sitecoreレンダリングパイプラインを使用したままのSitecoreMVCカスタムルート

  29. 29

    タイムスタンプをRの頻度ビン時系列に変換しますか?

ホットタグ

アーカイブ