Ho una lista in cui ogni valore è un elenco di tuple. per esempio questo è il valore che estraggo per una chiave:come aggregare elementi di un elenco di tuple se le tuple hanno lo stesso primo elemento?
[('1998-01-20',8) , ('1998-01-22',4) , ('1998-06-18',8) , ('1999-07-15' , 7), ('1999-07-21',1) ]
Ho anche ordinato la lista. ora voglio aggregare i valori in questo modo:
[('1998-01' , 12) , ('1998-06' ,8) , ('1999-07',8)]
in un certo senso voglio gruppo miei tuple in termini di mesi, per riassumere le interi per ogni mese assieme, ho letto su groupby e penso che non posso aiutarmi con la mia struttura dati perché non ho idea di cosa troverò di fronte nella mia lista, quindi sto cercando di trovare un modo per dire: inizia dai primi elementi delle tuple if io [0] [: 6] sono uguali: somma i [1]. ma sto affrontando difficoltà per implementare questa idea.
for i in List :
if i[0][:6] # *problem* I don't know how to say my condition :
s=sum(i[1]) #?
Apprezzerei qualsiasi consiglio dato che sono un nuovo utente di Python!
grazie. È una buona soluzione, ma quando la eseguo nel mio set di dati ho risultati come: 2000-05 17 2000-05 17 2000-07 5 Sto cercando di capire perché il 2000-05 viene ripetuto due volte. – Singu
@Singu non capisco cosa dicono i tuoi dati hanno duplicati –
no i miei dati non hanno duplicati, lo eseguo e ottengo i risultati giusti ma non ho idea del perché per ogni query la prima riga dei risultati viene stampata due volte ! ancora qualche minuto e darò il feedback. Grazie! – Singu