複数のフィールドでグループ化された数量を合計するにはどうすればよいですか?

ジェイソンtk

[pid] [sid] [eid] [dbid]フィールドでグループ化された「qty」フィールドを合計するにはどうすればよいですか。

d = [
   {'pid': 146, 'sid': 6, 'eid': 6212, 'dbid': 1, 'qty': 10},
   {'pid': 146, 'sid': 6, 'eid': 6212, 'dbid': 1, 'qty': 20},
   {'pid': 232, 'sid': 56, 'eid': 6212, 'dbid': 1, 'qty': 1},
   {'pid': 232, 'sid': 56, 'eid': 6212, 'dbid': 1, 'qty': 1},
   {'pid': 146, 'sid': 56, 'eid': 6212, 'dbid': 1, 'qty': 100},
   {'pid': 146, 'sid': 56, 'eid': 6212, 'dbid': 1, 'qty': 100},
   ]

# non-working code
sum_of_qty = []
for row in d:
    sum_of_qty[[row['pid']][row['sid']][row['eid']][row['dbid']]] += row['qty'] 

これは私が望む最終結果です:

sum_of_qty = [
    {'pid': 146, 'sid': 6, 'eid': 6121, 'dbid': 1, 'qty': 30},
    {'pid': 232, 'sid': 56, 'eid': 6121, 'dbid': 1, 'qty': 2},
    {'pid': 146, 'sid': 56, 'eid': 6121, 'dbid': 1, 'qty': 200}
    ]
Ajax1234

あなたが使用することができますitertools.groupby

import itertools
d = [
  {'pid': 146, 'sid': 6, 'eid': 6212, 'dbid': 1, 'qty': 10},
  {'pid': 146, 'sid': 6, 'eid': 6212, 'dbid': 1, 'qty': 20},
  {'pid': 232, 'sid': 56, 'eid': 6212, 'dbid': 1, 'qty': 1},
  {'pid': 232, 'sid': 56, 'eid': 6212, 'dbid': 1, 'qty': 1},
  {'pid': 146, 'sid': 56, 'eid': 6212, 'dbid': 1, 'qty': 100},
  {'pid': 146, 'sid': 56, 'eid': 6212, 'dbid': 1, 'qty': 100},
]
new_d = [list(b) for _, b in itertools.groupby(d, key=lambda x:[x['pid'], x['sid']])]
final_result = [{**i[0], **{'qty':sum(b['qty'] for b in i)}} for i in new_d]

出力:

[{'pid': 146, 'sid': 6, 'eid': 6212, 'dbid': 1, 'qty': 30}, {'pid': 232, 'sid': 56, 'eid': 6212, 'dbid': 1, 'qty': 2}, {'pid': 146, 'sid': 56, 'eid': 6212, 'dbid': 1, 'qty': 200}]

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

不明な列名でdatatableをグループ化し、1つのフィールドの合計を計算するにはどうすればよいですか?

分類Dev

計算列を複数の列でグループ化するにはどうすればよいですか?

分類Dev

SQLServerで重複する時間によってグループ化された期間を合計するにはどうすればよいですか

分類Dev

結果を合計して、特定のフィールドごとにグループ化するにはどうすればよいですか?

分類Dev

サブドキュメントの配列を複数のフィールドでグループ化するにはどうすればよいですか?

分類Dev

複数のフィールドの組み合わせでグループバンドを追加するにはどうすればよいですか?

分類Dev

複数のグループ化されたバーでグラフを作成するにはどうすればよいですか?

分類Dev

フィールドごとにグループ化された単純なフィールドを取得するにはどうすればよいですか?

分類Dev

フィールドごとにグループ化された単純なフィールドを取得するにはどうすればよいですか?

分類Dev

Rubyの列挙可能/配列を複数のフィールドでグループ化するにはどうすればよいですか?

分類Dev

Rubyの列挙可能/配列を複数のフィールドでグループ化するにはどうすればよいですか?

分類Dev

elasticsearch:フィールドでグループ化して合計を平均化するにはどうすればよいですか?

分類Dev

SQLでカスタム計算フィールドのグループを合計するにはどうすればよいですか?

分類Dev

グループ化された箱ひげ図に「合計」グループを挿入するにはどうすればよいですか?

分類Dev

結合された値の合計でフィールドを更新するにはどうすればよいですか?

分類Dev

MongoDB集計を使用して、日付でグループ化された合計フィールド値を取得するにはどうすればよいですか?

分類Dev

日ごとにグループ化された2つの列から合計遅延を取得するにはどうすればよいですか?

分類Dev

パンダのカテゴリ列でグループ化された値を合計するにはどうすればよいですか?

分類Dev

グループが指定されたリストにある場合、グループの値を合計するにはどうすればよいですか?

分類Dev

教義のODMで複数のフィールドを合計するにはどうすればよいですか?

分類Dev

Odoo 13で既存の関連フィールドを計算されたフィールドに変換するにはどうすればよいですか?

分類Dev

グループ化された棒グラフを描画するにはどうすればよいですか?

分類Dev

SQLで列の値を合計するときに、列のさまざまなフィールドをカテゴリにグループ化するにはどうすればよいですか?

分類Dev

集計関数をカウントとして複数の列でグループ化されたデータフレームの最初の行を取得するにはどうすればよいですか?

分類Dev

複数の変数および複数のグループにわたる複数の統計に関する情報を運ぶデータフレームを組み合わせるにはどうすればよいですか?

分類Dev

フォーマットされた文字列フィールドでグループ化するにはどうすればよいですか?

分類Dev

mongodbのフィールドの合計を確認するにはどうすればよいですか?

分類Dev

複数のネストされたフィールドを持つデータ構造でmatlabismemberを使用するにはどうすればよいですか?

分類Dev

2つのテーブル間でIDで結合およびグループ化し、フィールドの合計を取得するにはどうすればよいですか?Linq C#からIDまで?

Related 関連記事

  1. 1

    不明な列名でdatatableをグループ化し、1つのフィールドの合計を計算するにはどうすればよいですか?

  2. 2

    計算列を複数の列でグループ化するにはどうすればよいですか?

  3. 3

    SQLServerで重複する時間によってグループ化された期間を合計するにはどうすればよいですか

  4. 4

    結果を合計して、特定のフィールドごとにグループ化するにはどうすればよいですか?

  5. 5

    サブドキュメントの配列を複数のフィールドでグループ化するにはどうすればよいですか?

  6. 6

    複数のフィールドの組み合わせでグループバンドを追加するにはどうすればよいですか?

  7. 7

    複数のグループ化されたバーでグラフを作成するにはどうすればよいですか?

  8. 8

    フィールドごとにグループ化された単純なフィールドを取得するにはどうすればよいですか?

  9. 9

    フィールドごとにグループ化された単純なフィールドを取得するにはどうすればよいですか?

  10. 10

    Rubyの列挙可能/配列を複数のフィールドでグループ化するにはどうすればよいですか?

  11. 11

    Rubyの列挙可能/配列を複数のフィールドでグループ化するにはどうすればよいですか?

  12. 12

    elasticsearch:フィールドでグループ化して合計を平均化するにはどうすればよいですか?

  13. 13

    SQLでカスタム計算フィールドのグループを合計するにはどうすればよいですか?

  14. 14

    グループ化された箱ひげ図に「合計」グループを挿入するにはどうすればよいですか?

  15. 15

    結合された値の合計でフィールドを更新するにはどうすればよいですか?

  16. 16

    MongoDB集計を使用して、日付でグループ化された合計フィールド値を取得するにはどうすればよいですか?

  17. 17

    日ごとにグループ化された2つの列から合計遅延を取得するにはどうすればよいですか?

  18. 18

    パンダのカテゴリ列でグループ化された値を合計するにはどうすればよいですか?

  19. 19

    グループが指定されたリストにある場合、グループの値を合計するにはどうすればよいですか?

  20. 20

    教義のODMで複数のフィールドを合計するにはどうすればよいですか?

  21. 21

    Odoo 13で既存の関連フィールドを計算されたフィールドに変換するにはどうすればよいですか?

  22. 22

    グループ化された棒グラフを描画するにはどうすればよいですか?

  23. 23

    SQLで列の値を合計するときに、列のさまざまなフィールドをカテゴリにグループ化するにはどうすればよいですか?

  24. 24

    集計関数をカウントとして複数の列でグループ化されたデータフレームの最初の行を取得するにはどうすればよいですか?

  25. 25

    複数の変数および複数のグループにわたる複数の統計に関する情報を運ぶデータフレームを組み合わせるにはどうすればよいですか?

  26. 26

    フォーマットされた文字列フィールドでグループ化するにはどうすればよいですか?

  27. 27

    mongodbのフィールドの合計を確認するにはどうすればよいですか?

  28. 28

    複数のネストされたフィールドを持つデータ構造でmatlabismemberを使用するにはどうすればよいですか?

  29. 29

    2つのテーブル間でIDで結合およびグループ化し、フィールドの合計を取得するにはどうすればよいですか?Linq C#からIDまで?

ホットタグ

アーカイブ