enthält Also ich versuche, in einigen Daten zu lesen, die wie folgt aussehen (das ist nur die erste Zeile):np.genfromtxt Verwendung in Daten zu lesen, die Arrays
1 14.4132966509 (-1.2936631396696465, 0.0077236319580324952, 0.066687939649724415) (-13.170491147387787, 0.0051387952329040587, 0.0527163312916894)
Ich bin versucht, es zu lesen mit np.genfromtxt mit:
skirt_data = np.genfromtxt('skirt_data.dat', names = ['halo', 'IRX', 'beta', 'intercept'], delimiter = ' ', dtype = None)
Aber es Rückkehr dieses:
ValueError: size of tuple must match number of fields.
Meine Frage ist, wie genau lade ich in die Arrays, die innerhalb der Daten sind, so dass ich die erste Zahl in diesem Array herausziehen kann? Letztlich will ich, so etwas zu tun mit dem ersten Wert der Beta-Spalte suchen:
skirt_data['beta'][1]
Dank der Zeit voraus!
Ihre Daten sind kein quadratischer Tisch, mit ziemlich viel Struktur . Ich denke, du solltest deinen eigenen Import schreiben. Benutze einfache Python 'readlines' und zerlege jede Zeile nach der Struktur, die du verstehst. Man könnte mit mehreren Separatoren spielen und trotzdem "numpy" Importeure verwenden, aber es wäre nicht sehr elegant. – roadrunner66
Das '()' wird 'genfromtxt' Probleme geben. Es ist für Zeilen mit nur Feldern und Trennzeichen ohne Anführungszeichen oder andere Klammern konzipiert. Aber es akzeptiert die Eingabe von Ihrem eigenen Zeilenleser (alles, was es Zeilen speist). So können Sie das '()' herausfiltern, indem Sie sie durch reguläre Trennzeichen ersetzen. – hpaulj