Ich benutze Dictoinaries in Wörterbüchern. Beim Durchlaufen eines Pandas-Datenrahmens stimmt der Wert der Aktionszeile immer mit einem der Schlüssel im Wörterbuch überein, und basierend darauf werden einige andere Werte aus dieser Zeile an eine Liste in diesem Wörterbuch angehängt. Aus irgendeinem Grund jedoch werden die Werte in allen Listen in den anderen WörterbüchernPython hängt an allen Wörterbüchern an
general_form = {
"Percentage": np.nan, "DayPercentage": np.nan, "sample_size": np.nan, "Percentages": [], "DayPercentages": []
}
#get all possible action types
action_types = self.df['Action Type'].tolist()
action_types = list(set(action_types))
#give every action type its own dictionary within the main dictionary
sheetstats = {}
for action in action_types:
sheetstats[action] = general_form
#push the percentage in the list inside the dictionary specified in
#action
for index, row in self.df.iterrows():
percentage = row['Percentage']
daypercentage = row['DayPercentage']
action = row['Action Type']
sheetstats[action]['Percentages'].append(percentage)
sheetstats[action]["DayPercentages"].append(daypercentage)
beigefügten
Dies wird alle Prozentangaben identisch in allen Wörterbüchern innerhalb sheetstats machen. Warum?
Weil Sie das * gleiche Wörterbuch * verwenden: 'folgestats [action] = general_form'. –
'folestats [action] = general_form' sagt, dass Sie das gleiche Wörterbuch in jeden Schlüsselschlitz legen wollen ... Ich glaube, Sie wollten' general_form' kopieren – MooingRawr