it-swarm.com.de

Entfernen Sie Unbenannte Spalten in Pandas Dataframe

Ich habe eine Datendatei aus den Spalten A-G wie unten, aber wenn ich sie mit pd.read_csv('data.csv') lese, wird eine zusätzliche unnamed-Spalte am Ende ohne Grund ausgegeben. 

colA    ColB    colC    colD    colE    colF    colG    Unnamed: 7
44      45      26      26      40      26      46        NaN
47      16      38      47      48      22      37        NaN
19      28      36      18      40      18      46        NaN
50      14      12      33      12      44      23        NaN
39      47      16      42      33      48      38        NaN

Ich habe meine Datei mehrmals gesehen, aber ich habe keine zusätzlichen Daten in einer anderen Spalte. Wie soll ich diese zusätzliche Spalte beim Lesen entfernen? Vielen Dank

18
muazfaiz
In [162]: df.loc[:, ~df.columns.str.contains('^Unnamed')]
Out[162]:
   colA  ColB  colC  colD  colE  colF  colG
0    44    45    26    26    40    26    46
1    47    16    38    47    48    22    37
2    19    28    36    18    40    18    46
3    50    14    12    33    12    44    23
4    39    47    16    42    33    48    38

wenn die erste Spalte Indexwerte enthält, können Sie stattdessen Folgendes tun:

pd.read_csv('data.csv', index_col=0)
49
MaxU

suchen Sie zuerst die Spalten mit dem Namen "unbenannt" und löschen Sie sie.

     df.drop(df.columns[df.columns.str.contains('unnamed',case = False)],axis = 1)
10
Adil Warsi

Die genehmigte Lösung funktioniert in meinem Fall nicht, daher ist meine Lösung die folgende:

    ''' The column name in the example case is "Unnamed: 7"
 but it works with any other name ("Unnamed: 0" for example). '''

        df.rename({"Unnamed: 7":"a"}, axis="columns", inplace=True)

        # Then, drop the column as usual.

        df.drop(["a"], axis=1, inplace=True)

Hoffe, es hilft anderen.

1
Ezarate11

use.dropna 

df.dropna(how='all', axis=1)
0
Susan