[解決済み] パンダのGroupbyと1列の和の計算
2023-06-04 18:10:46
質問
以下のようなデータフレームdf1があります。
A B C
1 foo 12 California
2 foo 22 California
3 bar 8 Rhode Island
4 bar 32 Rhode Island
5 baz 15 Ohio
6 baz 26 Ohio
A列でグループ化し、C列の値を保持したままB列を合計したいのですが、こんな感じです。
A B C
1 foo 34 California
2 bar 40 Rhode Island
3 baz 41 Ohio
問題は、df.groupby('A').sum()と言ったときに、C列が削除されて戻ってくることです。
B
A
bar 40
baz 41
foo 34
グループ化と合計を行う際に、C列を維持するにはどうしたらよいでしょうか?
どのように解決するのですか?
Cをgroupbyに含めるしかないでしょう(groupby関数はリストを受け取ることができます)。
これを試してみてください。
df.groupby(['A','C'])['B'].sum()
もうひとつ、集計後に df を扱う必要がある場合は、集計のために
as_index=False
オプションを使って、データフレームオブジェクトを返すことができます。これは、私が初めてPandasを使ったときに問題を起こしました。例を挙げます。
df.groupby(['A','C'], as_index=False)['B'].sum()
関連
-
[解決済み] Pandasのカラム名のリネーム
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] 一行ずつ追加してPandas Dataframeを作成する
-
[解決済み] Pandas DataFrameの特定の列の値がNaNである行を削除する方法
-
[解決済み] PandasでDataFrameの行を列の値に基づいて削除する
-
[解決済み] PandasのGroupByの出力をSeriesからDataFrameに変換する
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
-
[解決済み】pandasでカラムの種類を変更する
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SQLAlchemy: セッションの作成と再利用
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] 辞書のキーと値を交換するにはどうすればよいですか?
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Flaskで非同期タスクを作る
-
[解決済み] if 節の終了方法
-
[解決済み] PythonのRequestsモジュールを使ってWebサイトに "ログイン "するには?