2013-05-17 18 views
20

Say Mam tabelę danychUsuwanie wszystkich kolumn z wyjątkiem kilku python-pand

1 2 3 4 5 6 .. n 
A x x x x x x .. x 
B x x x x x x .. x 
C x x x x x x .. x 

I chcę szczupły w dół tak, że mam tylko, powiedzmy, kolumny 3 i 5 usuwając wszystkie inne i utrzymaniu Struktura. Jak to zrobić z pandami? Myślę, że rozumiem, jak usunąć pojedynczą kolumnę, ale nie wiem, jak zapisać wybrane kilka i usunąć wszystkie pozostałe.

Dzięki.

Odpowiedz

32

Jeśli masz listę kolumn można po prostu wybrać te:

In [11]: df 
Out[11]: 
    1 2 3 4 5 6 
A x x x x x x 
B x x x x x x 
C x x x x x x 

In [12]: col_list = [3, 5] 

In [13]: df = df[col_list] 

In [14]: df 
Out[14]: 
    3 5 
A x x 
B x x 
C x x 
+0

który pracował idealnie. DZIĘKI! – Matt

+0

@andyhayden, jak usunąć wszystkie kolumny z wyjątkiem kolumny 'n' (bez używania nazw kolumn), – 3kstc

6

Można przypisać nową wartość do DataFrame, df:

df = df.loc[:,[3, 5]] 

Dopóki nie istnieją żadne inne odniesienia do pierwotnej DataFrame, stare DataFrame dostanie śmieci zebrane.

Należy pamiętać, że podczas korzystania z df.loc indeks jest określony przez etykiet. Zatem powyżej 3 i 5 nie są porządkowe, reprezentują nazwy etykiet kolumn. Jeśli chcesz określić kolumny według indeksu porządkowego, użyj df.iloc.

Powiązane problemy