2014-09-29 24 views
9

Meine CSV-Datei hat keinen Spaltennamen für die erste Spalte, und ich möchte sie umbenennen. Normalerweise würde ich data.rename(columns={'oldname':'newname'}, inplace=True) tun, aber es gibt keinen Namen in der CSV-Datei, nur ''.Unbenannte Spalte Pandas Dataframe umbenennen

+2

Wie wurde dieser csv erzeugt? Wenn es von Pandas exportiert wurde, zeigt dies manchmal an, dass die erste Spalte der Index war. In diesem Fall können Sie Pandas dies sagen, wenn Sie es lesen 'pd.read_csv ('file.csv', index_col = [0])' – EdChum

Antwort

0

Es hat einen Namen, der Name ist nur '' (die leere Zeichenfolge).

In [2]: df = pd.DataFrame({'': [1, 2]}) 

In [3]: df 
Out[3]: 

0 1 
1 2 

In [4]: df.rename(columns={'': 'A'}) 
Out[4]: 
    A 
0 1 
1 2 
+2

Falsch, es funktioniert nicht – jaycode

+0

Sie brauchen inplace = True, um df direkt zu ändern. df.rename (Spalten = {'': 'A'}, Inplace = True) – user2602740

14

Wenn Sie die CSV laden, verwenden Sie die Option 'index_col' wie

pd.read_csv('test.csv', index_col=0) 

index_col: int oder Sequenz oder Falsch, Spalte Standard None als die Zeilenbezeichnungen des Datenrahmen zu verwenden, . Wenn eine Sequenz angegeben wird, wird ein MultiIndex verwendet. Wenn Sie eine fehlerhafte Datei mit Trennzeichen am Ende der jede Zeile haben, könnten Sie index_col = False Pandas zu zwingen, nicht die erste Spalte als Index verwenden (Zeilennamen)

http://pandas.pydata.org/pandas-docs/dev/generated/pandas.io.parsers.read_csv.html

2

Sie können den aktuellen Datenrahmen mit data.head() oder

wenn das ‚Unbenannt: 0‘ kehrt als Spaltentitel, können Sie es auf folgende Weise umbenennen:

data.rename (Spalten = {'Unbenannt: 0': 'neuer Spaltenname'}, inplace = True)