GenFromtxt Numpy

GenFromtxt Numpy

Un package Python particulièrement apprécié et largement utilisé est Numpy. Il vous offre plusieurs fonctions pour transformer les données tabulaires en un tableau. L'un d'eux est le Numpy.Fonction GenFromText (). L'une des nombreuses fonctions fournies par la bibliothèque Python Numpy qui reçoit des données tabulaires les génère dans un tableau de données, et le texte des sorties est appelé Numpy GenFromtxt. Dans cet article, nous allons passer par la façon d'utiliser Python Numpy.Fonction GenFromTxt () pour charger les données d'un fichier texte. Tout au long du tutoriel, nous démontrerons l'utilisation de Numpy GenFromtxt et de la méthode GenFromText ().

GenFromtxt () Définition de la fonction

Un fichier texte peut charger des données dans un programme à l'aide de la fonction GenFromTxt (). Pour nettoyer le contenu dans le fichier texte, plusieurs valeurs d'argument sont requises. Grâce à l'utilisation des opérations de filtrage, de suppression et de remplacement, il peut également faire face aux valeurs manquantes ou nulles.

Il y a deux boucles dans Numpy GenFromtxt. Chaque ligne du fichier est convertie en une séquence de chaînes à l'aide d'une seule boucle. La deuxième boucle change alors chaque chaîne en type de données approprié. En conséquence, cette approche est plus lente et pas aussi efficace que la boucle unique. La méthode GenFromtxt est chargée de combler les lacunes dans les données s'il y a des valeurs manquantes.

Syntaxe de la fonction GenFromTxt ()

Nous avons joint la syntaxe suivante de la fonction GenFromTxt ():


La fonction GenFromTxt () accepte un large éventail d'arguments. Mais, nous nous concentrerons sur les plus typiques:

Le nom du paramètre

Description

fname Le nom de fichier qui sera lu est indiqué comme fname.
dtype Cela affiche le type de données du tableau résultant. La valeur par défaut du DType est «Float."
commentaires Cette option décrit chaque ligne d'informations.
délimiteur = aucun La valeur qui est utilisée pour diviser les valeurs est celle-ci.
skip_header = 0 Cette valeur indique au fichier de sauter des lignes à partir du début.
skip_footer = 0 Avec cette option, les lignes inférieures du fichier doivent être ignorées.
convertisseurs = aucun Cette valeur indique aux fonctions ou variables lambda comment convertir les données de colonne en valeurs.
Missing_values ​​= aucun Celui-ci est la valeur de chaîne utilisée pour remplir pour les valeurs manquantes.

Parlons de divers exemples de GenFromtxt Numpy pour en savoir plus sur le fonctionnement de cette fonction importante.

Exemple 1

Commençons par un exemple facile. Pour créer le tableau de sortie en utilisant la fonction GenFromTxt, nous avons d'abord invoqué les bibliothèques «Numpy» et «IO». Puisque nous avons utilisé le Unicode de String dans les données, les données sont fournies manuellement au format String, puis transmises via la méthode GenFromtxt à l'aide de la fonction «Stringio». Ici, vous pouvez voir que les virgules sont utilisés comme délimiteurs car ils peuvent être utilisés pour distinguer les valeurs. Le tableau de résultat de la fonction GenFromTxt contient le tableau de sortie formé. Essayez de comprendre le code suivant:

Importer Numpy
à partir d'Io Import Stringio
valeurs = u "11, 22, 33 \ n111, 222, 333 \ n55,101,112"
data_val = Numpy.genfromtxt (stringio (valeurs), Delimiter = ",")
Imprimer (DATA_VAL)



Le format d'entrée peut être spécifié en tant que générateur, liste des chaînes, chaîne, fichier d'objet ouvert avec la fonction de lecture ou chaîne. La fonction GenFromtxt suppose et affiche le tableau de sortie en fonction du type d'entrée. Voir la sortie suivante:


Veuillez noter que la méthode GenFromTxt interprète une seule chaîne en tant que nom de fichier, qu'elle soit située localement ou à distance. La méthode GenFromtxt peut également recevoir l'emplacement de l'URL, qui téléchargera et ouvrira le fichier à partir de celui fourni l'URL.

Exemple 2

Dans cet exemple, nous verrons comment utiliser l'option Delimiter. Cette option est utilisée ici pour diviser les données de notre tableau de sortie en fonction de la largeur des valeurs données dans le fichier d'entrée.

Parce que nous n'avons pas utilisé de virgule ou autre caractère pour séparer les deux données d'entrée nommées «Values1» et «Values2», qui incluent des entiers de différentes largeurs, nous devons utiliser les valeurs entières en tant que délimiteur pour diviser les valeurs du fichier pour Notre tableau de sortie prévu.

Parce que les deux entrées avaient des largeurs de valeur différentes sur une seule ligne, nous avons divisé les colonnes en trois groupes de valeurs en utilisant le délimiteur entier 3. Lorsque les valeurs de notre fichier d'entrée ont la même largeur partout, nous pouvons utiliser cette méthode. Si les valeurs du fichier ne sont pas toutes de la même largeur, nous pouvons utiliser une séquence de valeurs entières que le délimiteur pour diviser les valeurs, comme nous l'avons fait dans l'entrée "Values_input2". Nous avons utilisé le délimiteur des séquences 4, 3 et 2.

Importer Numpy comme NP
à partir d'Io Import Stringio
valeurs1 = u "2 2 6 \ n 4 2 66 \ n453203 3"
valeurs_input1 = np.GenFromtxt (StringIo (Values1), Delimiter = 3)
print (valeurs_input1)
valeurs2 = u "665636143 \ n 3 5 7 \ n 6532 9"
valeurs_input2 = np.GenFromtxt (StringIo (Values2), Demiter = (4, 3, 2))
print (valeurs_input2)



Voici la sortie suivante:

Exemple 3

Dans cet exemple, nous parlerons du paramètre AutoStrip de la fonction GenFromTxt (). Cette option est utilisée pour supprimer automatiquement les espaces blancs entre les valeurs de notre fichier de données.

Si vous utilisez un délimiteur, la ligne se décompose en une chaîne de caractères, y compris tous les espaces disponibles disponibles. Cependant, si nous passons «autoStrip = true» comme paramètre, nous recevrons une chaîne de caractères vides à la place.

Dans la capture d'écran suivante, vous pouvez voir que nous avons d'abord importé les modules et créé nos données dans une variable nommée «valeurs». Après cela, nous avons utilisé la fonction GenFromtxt. Ici, nous n'utilisons pas la fonction «AutoStrip». Nous utiliserons cette option dans la section à venir. Exécutez le code ci-dessous, puis vérifiez les résultats. Ici, nous n'avons pas utilisé la fonction AutoStrip.

Importer Numpy
à partir d'Io Import Stringio
valeurs = u "2, xyz, 4 \ n 5, nnn, 2"
Imprimer (Numpy.GenFromTxt (StringIo (Valeurs), Delimiter = ",", DTYPE = "| U5"))



Vous trouverez ci-dessous le résultat dans lequel vous pouvez voir les espaces entre les données:


Dans l'écran suivant, vous pouvez voir que le reste du code est le même que ci-dessus, à l'exception de l'ajout de l'option «AutoStrip» à la fin de la dernière ligne du code.

Importer Numpy
à partir d'Io Import Stringio
valeurs = u "2, xyz, 4 \ n 5, nnn, 2"
Imprimer (Numpy.GenFromtxt (StringIo (Values), Delimiter = ",", dType = "| U5", autoStrip = true))



Voici le résultat. Vous pouvez faire correspondre cette sortie avec la sortie précédente et voir la différence créée à l'aide de l'option «AutoStrip».

Exemple 4

Disons que vous souhaitez éliminer le matériel des chaînes qui contiennent des commentaires ou certains symboles. Vous pouvez y parvenir en transmettant les paramètres de commentaires à la méthode GenFromTxt (). Exécutez le code suivant:

Importer Numpy
à partir d'Io Import Stringio
valeurs = u "" "#
# Ignorer !
# Ignorez cela aussi!
11, 1
31, 5
12, 9
15, 13
# C'est la dernière ligne du code!
6, 3
"" "
Imprimer (Numpy.GenFromtxt (StringIo (VALEUR), commentaires = "#", Delimiter = ","))



Voici la sortie où vous pouvez voir que les commentaires mentionnés dans le code précédent sont ignorés.

Conclusion

Pour avoir une compréhension approfondie de la fonction GenFromtxt Numpy et de son fonctionnement, nous l'avons examiné en détail en utilisant plusieurs exemples dans ce post. Nous avons vu des exemples d'utilisation de la fonction GenFromTxt pour lire les fichiers de données d'entrée avec divers types de données et comment utiliser diverses options et approches de délimiteur. Vous pouvez vous référer à cette information si vous êtes nouveau dans ce concept. Cet article contient tous les détails cruciaux sur la fonction GenFromtxt et son utilisation.