Effectuer une moyenne de valeur d une liste en fonction des valeurs d une autre

Fermé
Jgreffier - 15 juil. 2020 à 21:01
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 - 16 juil. 2020 à 21:07
Bonjour,

j'ai deux listes de plusieurs millier de données mais pour exemple prenons ça :
x =[0,1,1,1,2,2,2,0,0]
y = [3,2,5,10,3,1,3,5,6]

En gros, obtenir deux listes de meme longueur qui correspondent à :
w = [0,1,2]
z= [(3+5+6)/3,(2+5+10)/3,(3+1+3)/3 ][correspondant a la moyenne des valeurs de y enf fonction des index ou se trouve 0,1,2]

ce que j ai commencé mais je bloque...

for i in range (0,len(x)):
somme = float()
i=0
moyenne = float()
list_sortie = []
if x[i-1] == z [i]:
somme = y[i-1]+y[i]
list_sortie.append(somme)
Configuration: Windows / Chrome 83.0.4103.116
A voir également:

3 réponses

yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
15 juil. 2020 à 21:12
bonjour,
merci d'utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
tu nous montres un code, fonctionne-t-il bien?
avant de coder, ne devrais-tu pas réfléchir, et expliquer, comment tu penses trouver la solution?
0
ce que j'ai commencé
{
for i in range (0,len(x)):
somme = float()
i=0
moyenne = float()
list_sortie = []

if x[i-1] == z [i]:
somme = y[i-1]+y[i]
list_sortie.append(somme)
print(liste_sortie)

1) je pensais faire un tableau d = [x,y] ensuite trié ce tableau selon x
d= [[0, 0, 0, 1, 1, 1, 2, 2, 2 ],[ 3, 5, 6, 3, 2, 10, 3, 1, 3 ] ]

ensuite regroupé toutes les valeurs égale dans ma première colonne et dans lautre en fiare la some pour obtenir:

d=[[0, 1, 2],[3+5+6, 3+2+10, 3+1+3]]

en espérant que ce soit plus claire... c'est ma première fois sur un forum.
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
16 juil. 2020 à 21:07
inutile de montrer deux fois la même chose.
est-ce aussi la première fois que tu fais un programme?
penses-tu qu'il soit très utile de trier avant de regrouper?
tu n'expliques pas du tout comment tu ferais ce regroupement.

imagine-toi faire le travail à la main, avec un papier et un crayon, et décompose les étapes.

prends ton temps, c'est ainsi que tu apprendras.
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
16 juil. 2020 à 11:57
OK, mais tu n'as toujours pas mis les balises de code ...
0