問題タブ [pandas-groupby]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - groupby を使用して、グループ内の最大値を持つ行を取得します
count
列でグループ化した後、列の最大値を持つパンダデータフレーム内のすべての行を見つけるにはどうすればよい['Sp','Mt']
ですか?
例 1:次の dataFrame をグループ化し['Sp','Mt']
ます。
期待される出力: 次のように、グループ間でカウントが最大である結果行を取得します。
例 2:このデータフレームをグループ化し['Sp','Mt']
ます:
上記の例では、各グループで max に等しいすべての行を取得したいと考えています。count
python - Groupbyを使用したPythonパンダの条件付き合計
サンプルデータの使用:
df
データをkey1でグループ化し、key2が「1」に等しいdata1値のみを合計する方法を見つけようとしています。
これが私が試したことです
しかし、これにより、「なし」の値を持つデータフレームが得られます
ここに何かアイデアはありますか?次の SQL に相当する Pandas を探しています。
参考までに-パンダ集計の条件付き合計を見 たことがありますが、そこに提供された回答を変換して、カウントではなく合計を処理することができませんでした。
前もって感謝します
python - 重複データを含むデータフレームで、パンダを年ごとにグループ化し、売上列ごとにランク付けします
年のランクを作成したいと思います (したがって、2012 年には、マネージャー B は 1 です。2011 年には、マネージャー B は再び 1 です)。私はしばらくパンダのランク関数に苦労しましたが、for ループに頼りたくありません。
私が抱えている問題は、追加のコードにあります(これは以前は関係ないと思いました):
何か案は?
これは私が使用している実際のデータ構造です。インデックスの再作成に問題がありました..
python - パンダ GroupBy を使用して、各グループ (カウント、平均など) の統計を取得しますか?
データフレームがdf
あり、そこからいくつかの列を使用してgroupby
:
上記の方法で、必要なテーブル (データ フレーム) をほぼ取得します。欠けているのは、各グループの行数を含む追加の列です。言い換えれば、私は意地悪をしていますが、これらの手段を取得するために使用された数も知りたいです。たとえば、最初のグループには 8 つの値があり、2 番目のグループには 10 というように続きます。
要するに、データフレームのグループごとの統計を取得するにはどうすればよいですか?
python - Pandas Groupby 関数での列名の名前変更
Q1) groupby、SQL スタイルの集計を行い、出力列の名前を変更したい:
データセットの例:
このデータセットの観察結果をグループ化し、グループごとに合計したいと思いID
ます。だから私はこのようなものを使用しました...Region
count
使用as_index=False
すると、「SQL のような」出力を得ることができます。私の問題は、ここで集計変数の名前を変更count
できないことです。したがって、SQLで上記のことをしたい場合は、次のようにします。
ご覧のとおり、集計変数の名前を SQL で に変更するcount
のTotal_Numbers
は非常に簡単です。Pandas でも同じことをしたかったのですが、group-by 関数でそのようなオプションを見つけることができませんでした。誰か助けてくれませんか?
2番目の質問(より観察)は...
Q2) Pandas データフレーム関数で列名を引用符で囲まずに直接使用することは可能ですか?
変数名は文字列であるため、引用符で囲む必要があることは理解していますが、それらをデータフレーム関数の外で使用し、属性として引用符で囲む必要がないかどうかがわかります。df.ID.sum()
など。DataFrame関数で使用する場合、またはdf.sort()
引用df.groupby
符内で使用する必要がある場合のみです。SQL や SAS などの言語では、引用符を付けずに変数名を使用するだけなので、これは実際には少し面倒です。これに関する提案はありますか?
両方の質問に親切に回答してください (Q1 がメインで、Q2 が意見です)。
python - Pandas 0.8.1 で set_index、groupby、および apply に多くの問題を引き起こす datetime.date
官僚的な理由でアップグレードできない環境で Pandas 0.8.1 を使用しています。
最初の問題と私の目標についてすべて読む前に、以下の「単純化された問題」セクションにスキップすることをお勧めします。
私の目標: DataFrame をカテゴリ列 "D" でグループ化し、各グループについて、日付列 "dt" で並べ替え、インデックスを "dt" に設定し、ローリング OLS 回帰を実行し、beta
回帰係数の DataFrame を返します。日付順に索引付けされています。
最終結果は、積み上げられたbeta
フレームの束になり、それぞれが特定のカテゴリ変数に固有であるため、最終的なインデックスはカテゴリ ID 用と日付用の 2 つのレベルになります。
私が何かをするなら
その後、イライラするほど有益ではないKeyError: 0
エラーが頻繁に発生し、トレースバックは日時の問題で窒息しているようです:
group-by オブジェクトの各グループに対して手動で回帰ステップを 1 つずつ実行すると、すべて問題なく動作します。
コード:
と を使用してこれらを操作しようとすると、次のようにgroupby
なりapply
ます。
groupby
オブジェクトを保存してfoo
自分で適用しようとすると、簡単な方法でこれも失敗します。
しかし、グループ データ フレームの 1 つを保存してから呼び出すとfoo
、問題なく動作します... ??
何が起きてる?不正な日付/時刻型への変換をトリガーするロジックがトリップした場合と関係がありますか? どうすれば回避できますか?
単純化された問題
set_index
関数内の呼び出しだけで問題を単純化できapply
ます。しかし、これは本当に奇妙になっています。を使用した、より単純なテスト DataFrame の例を次に示しset_index
ます。
set_index
ここでは問題なく動作します。日付の変更などはありません。
groupby
ただし、正常に実行できませんset_index
(サイズが一致しないアンパックの問題が発生する前にエラーが発生することに注意してください。インデックスをまったくリセットできないだけです)。
非常に奇妙な部分
ここで、グループ オブジェクトを保存し、それらを手動で呼び出しset_index
てみます。これはうまくいきません。グループから特定の DataFrame 要素を保存しても機能しません。
しかし、グループの DataFrame の手動の直接コピーを作成すると、手動で再構築set_index
できますか??
アーチャー シーズン 3 の最初の数回のエピソードで海賊たちが言うように: