私の目標は、他のデータフレームから無作為にサンプリングし、新しいデータフレームの要約統計量を収集してリストに追加することです。理想的には、このプロセスを何度でも繰り返すことができます(ブートストラップなど)。他のデータフレームを無作為にサンプリングして構築したDataframeの要約統計情報
dfposlist = [OFdf, Firstdf, Seconddf, Thirddf, CFdf, RFdf, Cdf, SSdf]
OFdf.head()
playerID OPW POS salary
87 bondsba01 62.061290 OF 8541667
785 ramirma02 35.785630 OF 13050000
966 walkela01 30.644305 OF 6050000
859 sheffga01 29.090699 OF 9916667
357 gilesbr02 28.160054 OF 7666666
リスト内のすべてのデータフレームに同じヘッダーがあります。私が探している出力はこのようなものである
teamdist = []
for df in dfposlist:
frames = [df.sample(n=1)]
team = pd.concat(frames)
teamopw = team['OPW'].sum()
teamsal = team['salary'].sum()
teamplayers = team['playerID'].tolist()
teamdic = {'Salary':teamsal, 'OPW':teamopw, 'Players':teamplayers}
teamdist.append(teamdic)
:
teamdist = [{'Salary':4900000, 'OPW':78.452, 'Players':[bondsba01, etc, etc]}]
しかし、いくつかの理由でteamopw = team['OPW'].sum()
などのすべての和アクションがない私は何をしようとしていることは、このようになります私がしたいどのように動作する、とだけteam['OPW']
print(teamopw)
0.17118131814601256
38.10700006434629
1.5699939126695253
32.9068837019903
16.990760776263674
18.22428871113601
13.447706356730897
でこの作業を取得する方法上の任意のアドバイスを要素を返しますか?ありがとう!
編集:次のような解決策。それが最も無作為な方法であるかどうかは分かりませんが、それは機能します。 (ランダムデータで)ここで
teamdist = []
team = pd.concat([df.sample(n=1) for df in dfposlist])
teamopw = team[['OPW']].values.sum()
teamsal = team[['salary']].values.sum()
teamplayers = team['playerID'].tolist()
teamdic = {'Salary':teamsal, 'OPW':teamopw, 'Players':teamplayers}
teamdist.append(teamdic)
私はこの問題を再作成することはできません。すべての反復はそうですか?印刷しているポイントを確認してください。あなたはそのシリーズで実行している別の操作はありますか?そして、なぜ1つのデータフレームの1レコードを連結するのか、またはあなたのインデントが投稿に含まれていませんか? – Parfait