1. ホーム
  2. python

[解決済み] forループからpandasのdataframeを構築し、充填する方法は?重複

2023-07-03 09:39:31

質問

以下は私が実行しているコードの簡単な例で、私は結果をpandasのデータフレームに入れたいと思います(より良いオプションがない限り)。

for p in game.players.passing():
    print p, p.team, p.passing_att, p.passer_rating()

R.Wilson SEA 29 55.7
J.Ryan SEA 1 158.3
A.Rodgers GB 34 55.8

このコードを使って

d = []
for p in game.players.passing():
    d = [{'Player': p, 'Team': p.team, 'Passer Rating':
        p.passer_rating()}]

pd.DataFrame(d)

もらえる。

    Passer Rating   Player      Team
  0 55.8            A.Rodgers   GB

これは1x3のデータフレームであり、私は理解しています。 なぜ が 1 行である理由は理解できますが、列を正しい順序で複数行にする方法がわかりません。理想的には、このソリューションで n を処理でき、列の数が要求された統計の数によって設定されると素晴らしいです(必須ではありませんが)。何か提案はありますか?事前にありがとうございます。

どのように解決するのですか?

リスト内包を使って試してみてください。

import pandas as pd

df = pd.DataFrame(
    [p, p.team, p.passing_att, p.passer_rating()] for p in game.players.passing()
)