Wie erstellt man ein Wörterbuch von Pandas-Datenrahmen und gibt die Datenrahmen in Excel-Arbeitsblätter zurück?Wie erstellt man ein Wörterbuch von Pandas-Datenrahmen und gibt die Datenrahmen in Excel-Arbeitsblätter zurück?
Hallo zusammen,
Ich lerne, Pandas und Python, und ich möchte ein Wörterbuch erstellen, die ein paar Datenrahmen enthält, die ich dann Metriken über jeden Datenrahmen ausgeführt werden können. Mit jedem eindeutigen Clusternamen (eine der Spalten) möchte ich einen Datenrahmen (Teilmenge des ursprünglichen Datenrahmens) erstellen.
Dann würde ich gerne in der Lage sein, es auszuwählen, Metriken darüber laufen zu lassen, die Ergebnisse in eine neue Datenrahmen, und legen Sie dann den ursprünglichen Datenrahmen (jede Teilmenge) in ein separates Arbeitsblatt xlsxwriter python-Bibliothek.
#create dictionary object
c_dict = {}
#get a list of the unique names
c_dict= data.groupby('Cluster').groups
#create a dictionary of dataframes, one for each cluster
for cluster in c_dict.items():
df = data[data['Cluster']==cluster
c_dict[cluster] =df <<< im getting invalid syntax here
#go through the dictionary and create a worksheet and put the dataframe in it.
for k,v in c_dict.items():
dataframe = GetDF(k) <<< creating worksheets and puts the data from the dataframe > worksheet is not working because of invalid syntax when trying to create dataframe dictionary ^^
dataframe.to_excel(writer,sheet_name=k)
writer.save
#get the dataframe from the dictionary,
GetDF(dictionary_key)
return c_dict[dictionary_key]
Es gibt viele Probleme mit Ihrem Code. Sie weisen c_dist = {} zu und weisen dann c_dict sofort einem groupby-Objekt zu. Sie rufen auch nicht die Speichermethode für Writer auf, Sie verweisen nur auf die Funktion. Sie überprüfen auch auf die Gleichheit von c_dict [Cluster] zu df, es ist nicht klar, warum das passiert. – munk
Ich habe einen großen Datensatz. Ich möchte kleinere Datensätze (Datenrahmen) basierend auf den eindeutigen Werten der Clusterspalte erstellen. In diesem Code wollte ich die kleineren Datensätze (Datenrahmen) erstellen und sie einem Wörterbuch zuordnen, damit ich sie später aufrufen konnte. Wie rufst du das Writer-Objekt auf, statt es zu referenzieren?> – yoshiserry
Um eine Funktion aufzurufen, brauchst du Klammern mit der entsprechenden Argumentliste. Sie rufen das Objekt nicht auf, Sie rufen eine Methode für das Objekt auf. Ich nehme an, du meintest writer.save(). Sie sind wahrscheinlich besser dran, wenn Sie nur das Objekt groupby verwenden, in dem Sie auf eine Gruppe verweisen können, anstatt es in ein Diktat zu stecken. – munk