Je suis très novice en Python et j'ai également beaucoup cherché pour trouver une question similaire à la mienne. Je voudrais faire quelque chose de similaire à ce qui est expliqué dans cette question Calculer des moyennes d'enregistrements provenant de plusieurs fichiers avec python
Cependant, au lieu de prendre la moyenne de chaque valeur (car dans cet exemple, toutes les valeurs sont numériques), je voudrais prendre la moyenne pour une seule colonne, mais garder toutes les mêmes valeurs pour les autres colonnes".
Par exemple :
fileA.txt:
0.003 0.0003 3 Active
0.003 0.0004 1 Active
fileB.txt:
0.003 0.0003 1 Active
0.003 0.0004 5 Active
et je voudrais générer le fichier de sortie suivant
output.txt
0.003 0.0003 2 Active
0.003 0.0004 3 Active
Bien que les colonnes 1 et 2 soient également numériques, elles auront la même valeur pour une même position dans 100 fichiers. Je ne m'intéresse donc qu'à la valeur moyenne de chaque élément sur 100 fichiers pour la colonne 3.
Aussi, bien que le code dans la question Calculer des moyennes d'enregistrements provenant de plusieurs fichiers avec python fonctionne pour lire mes fichiers. Il n'est pas utile si vous avez beaucoup de fichiers. Comment puis-je optimiser cela ?
Je parviens à lire mes fichiers en utilisant le code suivant :
import numpy as np
result = []
for i in my_files:
a = np.array(np.loadtxt(i, dtype = str, delimiter = '\t', skiprows = 1))
result.append(a)
result = np.array(result)
J'ai utilisé un code similaire à celui suggéré dans cette question initialiser un tableau numpy
Chacun de mes fichiers contiendra environ 1500 lignes pour 4 colonnes. J'ai essayé d'utiliser np.mean mais cela ne fonctionne pas, probablement parce que certaines de mes données sont de type chaîne.
Merci d'avance pour votre aide !