J'ai écrit un script pour prendre des fichiers de données qui sont dans les colonnes et les tracer en fonction de la colonne que l'utilisateur veut voir. Eh bien, j'ai remarqué que les graphes ont l'air dingue, et qu'ils ont tous les mauvais numéros parce que python ignore l'exponentielle.types de données python
Mes numéros sont au format: 1.000000e + 1 OU 1.000000e-1
Qu'est-ce que DTYPE est-ce? J'utilise numpy.genfromtxt pour importer avec un dtype = float. Je sais qu'il y a toutes sortes de types que vous pouvez entrer, mais je ne peux pas trouver une liste complète des options et des exemples.
Merci.
Voici un exemple de mon entrée (ces espaces sont des onglets):
Horodatage
T1_ModBt
T2_90Bend
T3_InPE
T5_Stg2Rfrg
05h222.115800E + 2 + 0
1.400000E
1.400000E + 0 + 1 3.035100E
05:23 2.094300E + 2
1.400000E + 0 + 0 1.400000E
3.034800E + 1
05:242.079300E + 2 1.400000E + 0 + 0
1.400000E 3.031300E + 1
05:25 2.069500E + 2
1.400000E + 0 + 0 1.400000E
3.031400E 1
05:26 2.052600E + 2
1.400000E + 0 + 0 1.400000E
3.030400E + 1 05:272.040700E + 2 1.400000E + 0 + 0
1.400000E 3.029100E + 1
Mise à jour J'ai compris au moins une partie de la raison pour laquelle ce que je fais ne fonctionne pas. Je ne sais toujours pas comment définir les dtypes comme je le veux.
import numpy as np
file = np.genfromtxt('myfile.txt', usecols = (0,1), dtype = (str, float), delimiter = '\t')
Cela renvoie un tableau de chaînes pour chaque colonne. Comment puis-je lui dire que je veux que la colonne 0 soit un str, et que toutes les autres colonnes soient flottantes?
Il ressemble à des colonnes de chiffres. Ok, bien sûr, il y a une ligne d'en-tête, que je saute.La première colonne est un timestamp dans ce format: 12:00 AM, mais je le charge comme dtype = str, et ça marche très bien. Si le nombre est 1.000000E + 1, le nombre qu'il tracera est 1.000000, et non 10 ... – lollygagger
Modifiez votre question et copiez/collez à partir de votre fichier texte. –