2016-10-27 8 views
2

Ich versuche, die Spalten zu erhalten, die für einen Datenrahmen eindeutig sind.Vergleichen von Spalten von 2 Datenrahmen

DF_A hat 10 Spalten DF_B hat 3 Spalten (alle drei Spaltennamen in DF_A übereinstimmen).

Bevor ich wurde:

cols_to_use = DF_A.columns - DF_B.columns.

Da mein Pandas Update, erhalte ich diese Fehlermeldung: Typeerror: Unter mit diesem Indextyp nicht ausführen können:

Was soll ich jetzt stattdessen tun?

Vielen Dank!

+0

Try this: 'cols_to_use = DF_A.columns.difference (DF_B.columns)' – MaxU

Antwort

1

Sie difference Methode verwenden können:

Demo:

In [12]: df 
Out[12]: 
    a b c d 
0 0 8 0 3 
1 3 4 1 7 
2 0 5 4 0 
3 0 9 7 0 
4 5 8 5 4 

In [13]: df2 
Out[13]: 
    a d 
0 4 3 
1 3 1 
2 1 2 
3 3 4 
4 0 3 

In [14]: df.columns.difference(df2.columns) 
Out[14]: Index(['b', 'c'], dtype='object') 

In [15]: cols = df.columns.difference(df2.columns) 

In [16]: df[cols] 
Out[16]: 
    b c 
0 8 0 
1 4 1 
2 5 4 
3 9 7 
4 8 5 
+0

Sinn macht - vielen Dank! – user1911092

Verwandte Themen