私はタプルのリストを持っている:PythonのGroupbyとタプルのリストの数/合計?
data = [('Team1', 'Mark Owen', 40),
('Team1', 'John Doe', 25),
('Team2', 'Raj Patel', 40),
('Team3', 'Matt Le Blanc', 30),
('Team1', 'Rene Russo', 40),
('Team1', 'Ronald Regan', 40),
('Team3', 'Dean Saunders', 15),
('Team2', 'Michael Antonio', 30)]
私は、チーム(各タプルのインデックス[0])GROUPBYしたい各チームに番号または人を数える(インデックス[1])と数字を合計します各チーム(インデックス[2])に関連していますが、私はこれを理解できません。
def create_hrs_totals():
result = defaultdict(list)
for k, *v in data():
result[k] += v
return dict(result)
が、その後、私は私が使用して必要なものを達成するためにその出力での作業に苦しんでいます。これまでのところ、私は辞書を返すdefaultdict(リスト)を使用して試してみましたが、例えば私はチームがグループにこれを試してみましたリストの候補者など何か...私が探している結果は新しいリストです:
[Team1, 4, 145,
Team2, 2, 80,
Team3, 2, 70]
もっと良い方法がありますか?
これは私が必要とするものと最もよくマッチします。私はタイプエラーを防ぐためにd [team] [1] + = int(number)を実行する必要がありましたが、そうでなければすべていいです、ありがとう:-) – MattE