Ich habe eine CSV-Datei mit falschen Daten in der ersten Zeile. Die Namen der Beschriftungen befinden sich in der Zeilennummer 2. Wenn ich diese Datei im DataFrame speichere, sind die Namen der Beschriftungen falsch. Und korrekte Namen werden zu Werten der Zeile 0. Gibt es eine ähnliche Funktion wie reset_index (), jedoch für Spalten? PS Ich kann die CSV-Datei nicht ändern. Hier ist ein Bild zum besseren Verständnis. DataFrame mit falschen Beschriftungen

0
Alona 6 Okt. 2020 im 17:31

2 Antworten

Beste Antwort

Wenn Sie sich nicht für die Zeilen vor Ihren Spaltennamen interessieren, können Sie das Argument "header" mit dem Wert der richtigen Zeile übergeben, z. B. wenn sich die richtigen Spaltennamen in Zeile 2 befinden:

df = pd.read_csv('my_csv.csv', header=2)

Beachten Sie, dass dadurch die vorherigen Zeilen aus dem DataFrame gelöscht werden. Wenn Sie sie weiterhin behalten möchten, können Sie Folgendes tun:

df = pd.read_csv('my_csv.csv')
df.columns = df.iloc[2, :] # replace columns with values in row 2

Prost.

0
sumnuz 6 Okt. 2020 im 14:45

Hallo, nehmen wir an, Ihre CSV-Datei ist data.csv:

Versuchen Sie diesen Code:

import pandas as pd

#reading the csv file
df = pd.read_csv('data.csv')

#changing the headers name to integers 
df.columns = range(df.shape[1])

#saving the data in another csv file
df.to_csv('data_without_header.csv',header=None,index=False)

#reading the new csv file
new_df = pd.read_csv('data_without_header.csv')

#plotting the new data
new_df.head()
0
MOHAMED BOUZIANE 6 Okt. 2020 im 14:50