Bonjour,
Dans la catégorie « it’s not a bug, it’s a feature » :
J’ai besoin de charger un fichier texte dans un structured array numpy. Sauf si on utilise un dtype correspondant à un structured array, les fonction np.loadtxt
et np.genfromtxt
ne retournent plus un array 2D, mais un array 1D de tuples correspondant à chaque ligne. Ce qui pose problème lorsque l’on fait par exemple un vstack sur un array 2D précédemment créé.
J’aimerai autant que possible éviter d’utiliser Pandas, ou éviter des itérations trop lourdes. Est-ce que quelqu’un a déjà été confronté à ce problème ?
Edit: avec un peu de code, ce sera peut-être plus explicite :
data = np.empty((0, len(dtype)), dtype=dtype) # Initialize np.array
folders = list(data_folder.dirs()) # List of subfolders
for folder in folders:
for object_file in folder.files("*.xyz"):
current_data = np.loadtxt(object_file, dtype=dtype)
data = np.vstack((data, current_data))
Avec ce code, data.shape
= (0, 4) et current_data.shape
= (5929833,) au lieu de (5929833, 4), ce qui fait que le vstack
lève une erreur.