So fügen Sie einem Pandas DataFrame eine Kopfzeile hinzu
Lesezeit: 3 Minuten
Sequenz_hart
Ich lese eine CSV-Datei ein pandas. Diese CSV-Datei besteht aus vier Spalten und einigen Zeilen, hat aber keine Kopfzeile, die ich hinzufügen möchte. Folgendes habe ich versucht:
Aber wenn ich den Code anwende, erhalte ich den folgenden Fehler:
ValueError: Shape of passed values is (1, 1), indices imply (4, 1)
Was genau bedeutet der Fehler? Und was wäre ein sauberer Weg in Python, um meiner CSV-Datei/Pandas df eine Kopfzeile hinzuzufügen?
Hier ist eine andere Interpretation Ihrer Frage: Fügen Sie einem vorhandenen Datenrahmen einen weiteren Header hinzu, um einen MultiIndex zu erstellen.
names : Array-ähnlich, Standard Keine Liste der zu verwendenden Spaltennamen. Wenn die Datei keine Kopfzeile enthält, sollten Sie explizit header=None übergeben
@Leb, ich hatte genau das gleiche Problem und habe deine Lösung ausprobiert. Ich habe die Überschriften für die Tabelle erhalten, aber die erste Zeile wurde auch durch dieselben Überschriftennamen ersetzt. Was soll ich jetzt tun?
– 007mrviper
13. November 2018 um 18:28 Uhr
es fügt meinen Daten mehr Spalten hinzu, alle mit NaN Attribute. Das lag daran, dass mein Trennzeichen ein leerer Raum ist.
– SalahAdDin
23. Januar 2020 um 13:32 Uhr
Gibt es einen Grund, warum, wenn Sie einen DataFrame erstellen, das Attribut so genannt wird und Sie eine CSV-Datei, es anders heißt. Ich glaube, es gibt drei verschiedene Namen für dieses Header-Label-Attribut, je nachdem, welche Funktion Sie verwenden.
– Dämongolem
31. August 2020 um 11:49 Uhr
Anton Protopopow
Alternativ könntest du sie mit csv auslesen header=None und dann mit hinzufügen df.columns:
Code ist gut – aber ich habe herausgefunden, dass er in einem leeren Datenrahmen nicht funktioniert. In diesem Fall wirft Python “ValueError: Length mismatch: Expected axis has 0 elements, new values have … elements”. Möglicherweise benötigen Sie so etwas wie stackoverflow.com/questions/44513738/…
Nachdem Sie dies getan haben, überprüfen Sie es einfach mit:
my_CSV_File.head()
Um Ihren Code zu reparieren, können Sie ihn einfach ändern [Cov] zu Cov.valuesder erste Parameter von pd.DataFrame wird zu einem mehrdimensionalen numpy Array:
HINWEIS: Stellen Sie sicher, dass Ihre Kopfzeilenlänge und die Kopfzeilenlänge der CSV-Datei nicht voneinander abweichen.
Benutzer3636989
Da dies erwähnt wird, dass wir aus einer CSV-Datei lesen, sollte das Trennzeichen so sein ','[as default, not need to mention]' and the given file has no header so header=Keine`
Beispielcode :
import pandas as pd
data = pd.read_csv('path/to/file.txt',header=None)
data.columns = ["Sequence", "Start", "End", "Coverage"]
print(data.head()) #Print the first rows
10607700cookie-checkSo fügen Sie einem Pandas DataFrame eine Kopfzeile hinzuyes
Hier ist eine andere Interpretation Ihrer Frage: Fügen Sie einem vorhandenen Datenrahmen einen weiteren Header hinzu, um einen MultiIndex zu erstellen.
– cs95
24. Mai 2019 um 6:44 Uhr