Ich importiere Daten aus einer CSV-Datei für die Verwendung in einem Pandas-Datenrahmen. Meine Datendatei hat 102 Zeilen und 5 Spalten und alle sind in Excel eindeutig als "Nummer" gekennzeichnet. Mein Code ist wie folgt:Warum interpretiert Pandas Datenrahmen alle Daten als NaN?
TopThird Oxbridge Russell Other Low
0 14\t1\t12\t35\t1 NaN NaN NaN NaN
1 14\t1\t12\t32\t0 NaN NaN NaN NaN
2 16\t0\t13\t33\t0 NaN NaN NaN NaN
3 10\t0\t9\t44\t1 NaN NaN NaN NaN
4 18\t1\t13\t28\t1 NaN NaN NaN NaN
Und dies weiter unten auf der Datenrahmen:
import pandas as pd
data = pd.read_csv('uni.csv', header=None, names = ['TopThird', 'Oxbridge', 'Russell', 'Other', 'Low'])
print data.head()
Die Ausgabe sieht wie folgt aus. Ich habe versucht, den Zelltyp in Excel zu "Allgemein" zu ändern oder Dezimalpunkte auf dem Typ "Zahl" zu verwenden, aber das hat nichts geändert.
Warum passiert das? Wie kann es verhindert werden?
, weil Sie nicht haben passierte den richtigen Separator. Fügen Sie einen Parameter 'delim_whitespace = True' zu' read_csv' hinzu. –
Alternativ können Sie als TSV 'pd.read_fwf (...)' verwenden. –
@ cᴏʟᴅsᴘᴇᴇᴅ Danke, der erste funktioniert. Fühlen Sie sich frei, als Antwort zu veröffentlichen, wenn Sie eine Erklärung damit einschließen möchten. – user7490953