2016-10-17 16 views
0

私は最初のPythonプログラミングエクスペリエンス(C++から来ている)の1つで分析したい野球チームのデータセットを持っています。しかし、データセットは、以前の単純な例よりも複雑な構造をしています。これは、私が捕捉する最良の(最も非平凡な)方法を知りたいということです。主な難点は、各プレイヤーが複数の季節を持つことができ、すべてのプレイヤーが同じキー(プレーヤーのID番号)に結び付けられ、季節との相関関係を維持することです。データベースに設定例プレーヤーは次のようになります。キーごとに複数の行を持つ辞書内のデータアソシエーションを維持

ID  year AB H 2B 3B HR 
JimBob01 2009 100 27 3 1 1 
JimBob01 2010 154 37 6 2 5 
JimBob01 2011 123 36 8 0 3 

私はSOの周りに検索し、私はハッシュ可能キー名システムを持っているので、辞書は、進むべき道であることがわかりました。辞書の各要素のリストが必要なように見えますか?のみ2009年からの統計情報だけでなく、のようなものを参照するには

print dict['JimBob01'][2009] 

:しかし、私のような何かを行うことができるようにしたいと思い

for year in dict['JimBob01']: 
    total_ab += year['AB']` 

を、私はリストを与えることはありませんだと思いますその柔軟性。私はこれがあまりにも単純な質問だとお詫びします、私はPythonで利用可能なデータ構造に適応しようとしています。

+0

トピック以外:問題を引き起こす可能性があるため、サンプルコードの 'dict'のような組み込みのPython型と同じ変数の名前を付けないようにすることをお勧めします。 – martineau

答えて

1

辞書の辞書が好きなようです。以下のような何か:

playerData = { 
    'JimBob01': { 
    '2009': ... // player data here 
    '2010': ... 
    } 
} 

あなたは、あなたのデータセットのサイズとどのくらいの頻度で分析を実行する必要があるに応じて、playerData['JimBob01']['2009']

を行うことによって、あなたが望むように、特定の年のデータを調べることができ、あなたもかもしれませんSqliteデータベースを調べたい。

+0

ありがとう@xbonez、私は入れ子になった辞書について知りませんでした。とても有難い。 – Zach

関連する問題