Wie lösche ich eine Spalte aus einem Datenrahmen mit Pandas?

Ich habe folgende Daten:

id text 363.327 text1 366.356 text2 37782 textn 

Damit

 import pandas as pd df = pd.read_csv('/path/file.tsv', header=0, delimiter='\t') print df 

dann:

  id text 0 361.273 text1... 1 374.350 text2... 2 374.350 text3... 

Wie kann ich die id Spalte aus dem obigen Datenrahmen löschen ?. Ich habe folgendes versucht:

 import pandas as pd df = pd.read_csv('/path/file.tsv', header=0, delimiter='\t') print df.drop('id', 1) 

Aber steigere diese Ausnahme:

 ValueError: labels ['id'] not contained in axis 

  • Wie kann ich eine Datei erstellen?
  • Kodierung einer Liste von Tupeln mit Python?
  • Laufen Flasche + gevent + Anfragen nicht servieren 'gleichzeitig'
  • Warum ist dieses Haskell Programm so viel langsamer als ein gleichwertiges Python eins?
  • Umleiten von Stdout aus Python für C-Anrufe
  • Effizientes Lesen von 800 GB XML-Datei in Python 2.7
  • 2 Solutions collect form web for “Wie lösche ich eine Spalte aus einem Datenrahmen mit Pandas?”

    Musst du die Spalte wirklich löschen? Wenn nicht, dann können Sie einfach die Spalte von Interesse so wählen:

     In [54]: df['text'] Out[54]: 0 text1 1 text2 2 textn Name: text, dtype: object 

    Wenn du es niemals an erster Stelle read_csv dann gehst du eine Liste von cols an read_csv als param usecols :

     In [53]: import io temp="""id text 363.327 text1 366.356 text2 37782 textn""" df = pd.read_csv(io.StringIO(temp), delimiter='\s+', usecols=['text']) df Out[53]: text 0 text1 1 text2 2 textn 

    df.drop(colname, axis=1) (oder del df[colname] ) ist die richtige Methode, um eine Spalte zu löschen.

    Wenn ein ValueError angehoben wird, bedeutet das, dass der Spaltenname nicht genau das ist, was du denkst.

    Überprüfe df.columns zu sehen, was Pandas denkt, die Namen der Spalten sind.

    Python ist die beste Programmiersprache der Welt.