問題タブ [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.

0 投票する
1 に答える
2411 参照

python - 他の列の条件に基づくグループ内の Pandas データフレームの最大値

この質問が以前に尋ねられたかどうかはわかりません。パンダのデータフレームには、次のようなデータがあります

私は取得したいです

上記の例 (最初のテーブルから) では、z は B と C の 0 から B の 2 と C の 2.5 になり、その後 B と C の 0 になります。重要なプロパティの 1 つは、B と C は異なる場合がありますが、同時に0。これをカウンターと考えてください。デバイスがオフの場合、すべてのカウンターは 0 に戻ります。上記の例のデバイスは y と z です。

また、最初のテーブルから、B と C の両方で y がそれぞれ 0 から 1 になったこともわかりますが、0 に戻ることはありませんが、B と C の最大値である 1 と 1 が必要です。

ループして必要な変換を行うための Python コードをいくつか書くことができますが、パンダの魔法でこれが可能かどうか疑問に思っていました。

0 投票する
1 に答える
778 参照

python - パンダを使用してキー変数に基づいて複数の行を単一の行に変換する

入力データセット

期待される出力データセット:

pandas プログラミングを使用して、期待されるデータセットをどのように達成できますか?

0 投票する
3 に答える
3662 参照

python - パンダのグループバイ、不足しているグループを [] で埋める

この質問のより正確なタイトルに関するヘルプは大歓迎です..

pandas日付と、その日に顧客が消費したアイテムを記録する顧客レベルの観察を含むデータフレームがあります。このように見えます。

このデータ セットの各観察結果は、一意の店舗日の組み合わせに関連していますが、各店舗日の観察結果は、消費されたアイテムの数が正の場合、つまりdf[items] > 0すべての店舗日の組み合わせを条件としてリストされています。

だから私は持っていません、例えば

storeこのデータフレームをとdayでグループ化し、各 store-day グループのすべての obs に対していくつかの操作を実行する必要があります。

しかし、これらの行を長さ 0 (null セット) で存在させたいのですが、これを行う最善の方法がわかりません。これは非常に単純なおもちゃのデータセットです。実物はとても大きいです。

df.groupby(['store', 'day'])特定の店舗と日に記録された顧客数の尺度として、各グループの長さを使用する各店舗日グループで OTHER 計算を実行するため、 を使用する前に観察を追加したくありません。したがって、これらの観察b3とを追加するとb4、3 日目と 4 日目に店 b を訪れた 2 人の顧客がいたように見えますが、客はいませんでした (3 日目と 4 日目に店 b で何も買わなかった)。

0 投票する
1 に答える
520 参照

python - パンダを使用してキーでグループ名を取得する最速の方法は何ですか?

見つけられる限り調べてみました。

パンダで使用groupbyし、グループを持っている場合、それを と呼びgroup1ます。group1 の名前を取得するにはどうすればよいですか?

私は and を使用groupbyしてapplyいるため、グループを明示的にプルしていません。そのため、これを行う必要があります。

群 df を 2 つのものと仮定します。

次に、これを使用してグループを取得します

私は次のことを避けたい:

遅いので名前を取得する..

0 投票する
3 に答える
9497 参照

pandas - データフレームを複数の列でグループ化し、結果をデータフレームに追加します

これは、計算された列を既存のデータフレームにアタッチするのと似ていますが、pandas v0.14で複数の列でグループ化する場合、このソリューションは機能しません。

例えば:

次の計算が機能します。

ただし、出力を新しい列に割り当てると、エラーが発生します。

TypeError: 挿入された列のインデックスがフレーム インデックスと互換性がありません

0 投票する
7 に答える
192800 参照

python - Pandas groupby を使用して複数の行の文字列を連結する

Pandas の groupedby に基づいて、データフレームに複数の文字列をマージしたいと考えています。

これまでの私のコードは次のとおりです。

最終結果を次のようにしたい:

ここに画像の説明を入力

groupby を使用して、「テキスト」列の文字列を連結する方法がわかりません。どんな助けでも大歓迎です!

0 投票する
1 に答える
1396 参照

python - パンダ groupby でグループ全体をシフトする方法

次のデータがあるとします。

現在の順序が維持されるように、全体を n groupsだけ下にシフトしたいと思います。n=1 のシフトに必要な出力は次のようになります。

n=2 のシフトは次のようになります。

私は groupby/transform/apply をいじっていますが、これまで何も機能していません。グループ化してからシフトすると、各グループがシフトされ、次の出力が得られます。

反復することで力ずくで攻撃することもできますが、もっと良い解決策があると確信しています。何か案は?