Je tente d'ouvrir un fichier CSV contenant 4 colonnes avec environ 100 rangées. Je veux avoir une matrice numpy 2D, qui définit la première colonne en tant que coordonnées X et définit la deuxième colonne en tant que coordonnées Y.
import numpy as np
dataDocument = open("data.csv")
headers = dataDoument.readline()
def generateArray(dataDocument):
for numbers in dataDocument:
splitDocument = numbers.strip().split(",")
myArray = np.array(splitDocument[0], splitDocument[1])
return myArray
print(generateArray(dataDocument))
3 Réponses :
Essayez:
from numpy import genfromtxt
data = genfromtxt('data.csv', delimiter=',')
res = data[:,0:2]
La question suggère que c'est délimité par des virgules, pas délimité à l'onglet
Vous pouvez également essayer:
replace: myArray = np.array(splitDocument[0], splitDocument[1]) with: myArray = np.array((splitDocument[0], splitDocument[1])) in your method and should solve the issue.
Vous devez être spécifique sur les erreurs ici. Vous pourrez peut-être utiliser NUMPY directement ou en congé, utilisez le module CSV pour lire le fichier. De ce que je peux voir, cependant, l'approche actuelle ne devrait probablement pas Error i> (le
retour code> dans lepour code> boucle est un problème définitif, bien que )C'est l'erreur la plus courante que je reçois: type de données "" non compris
Ta cette ligne dans votre méthode: myarray = np.array ((SplitDocument [0], SplitDocument [1]))
Semble résoudre le problème, merci beaucoup! Comment modifier mon code pour l'obtenir pour renvoyer plusieurs array (un pour chaque ligne du code)?
Si vous pouvez fournir des données "masquées", je peux regarder dans ...