2017-05-26 2 views
1

So habe ich eine riesige Struktur in MATLAB mit jedem einzelnen Spieler in der englischen Premier League (688 von ihnen). Im Abschnitt über einen einzelnen Spieler gibt es mehr Felder mit verschiedenen Statistiken (Tackles, Kreuze, Tore usw.) für jedes einzelne Spiel in der Saison.Welche Python-Datenstruktur zu verwenden ist

Um zu verdeutlichen, habe ich eine 688 Länge Struktur, die etwa 40 Elemente enthält. Jedes Element ist ein Array mit 38 Einträgen.

In welcher Datenstruktur würden Sie diese Daten speichern? Ich habe über relationale Datenbanken gelesen und denke, ich sollte anfangen, über PostgreSQL zu lernen. Ich wollte nur hier fragen, was Sie verwenden würden?

Antwort

1

Sie könnten definitiv eine SQL-Datenbank verwenden, aber wenn Sie strikt mit Python bleiben wollten, könnten Sie den objektorientierten Programmierstil von Python nutzen. Ich würde eine Objektklasse als so definieren:

class Player: 
    def __init__(self, optional_paramater1, opt_param2): 
     #Stuff you want to happen when object is initialized 

    def read_in_matlab_structure(self, matlab_info_as_text): 
     self.tackles = #Wheverever you get this info from 
     self.crosses = #... 
     self.goals = #... 

Dann, wenn Sie das Objekt zu machen, können Sie jeden der Werte unter einen selbst definierten Namen zugreifen können.

players = [] #This would be a list. Depending on your use, you could also 
      #Use a dictionary that links name to the object 
      #That way you can call up a person by name. 
      #eg. players["Babe Ruth"] 
      #There are also sets in Python that might be applicable to 
      #Your situation. 
for entry in matlab_structure: 
    temp_player = Player(name) 
    temp_player.read_in_matlab_structure(entry) 
    players.append(temp_player) 
#then, when you want to access player information, 
# lets say you want to see all the players who had more than 8 goals in a season: 
for person in players: 
    if person.goals >= 8: 
     print(person.name) 

Hoffe, das gibt Ihnen eine Idee. Weitere Informationen über Python-Datenstrukturen:

Python 3 Data Structures

+0

erstaunlich! Danke, das ist perfekt –

1

In Bezug auf integrierte Datenstrukturen klingt ein dictionary klingt wie Ihre beste Wette. Sie können es mit der json module exportieren, wenn dies erforderlich ist.

Für eine externe Datenbank ist SQLite wahrscheinlich die beste Wahl. Es erfordert viel weniger Setup als andere SQL-Datenbanken. Wie in Sie können einfach eine .db-Datei erstellen und beginnen, Daten ohne administrative Arbeit zu senden.

Verwandte Themen