Gleichheit in Pandas DataFrames - Reihenfolge der Spalten?

Als Teil eines unit-test, brauche ich zum testen zwei DataFrames für die Gleichstellung. Die Reihenfolge der Spalten in der DataFrames ist mir nicht wichtig. Allerdings scheint es egal zu Pandas:

import pandas
df1 = pandas.DataFrame(index = [1,2,3,4])
df2 = pandas.DataFrame(index = [1,2,3,4])
df1['A'] = [1,2,3,4]
df1['B'] = [2,3,4,5]
df2['B'] = [2,3,4,5]
df2['A'] = [1,2,3,4]
df1 == df2

Ergebnisse in:

Exception: Can only compare identically-labeled DataFrame objects

Ich glaube, der Ausdruck df1 == df2 bewerten sollte, um ein DataFrame mit allen True Werte. Natürlich ist es fraglich, was die korrekte Funktionalität der == werden sollte in diesem Kontext. Meine Frage ist: gibt es Pandas Methode, die das tut, was ich will? Das heißt, gibt es eine Möglichkeit zu tun, der Geschlechter-Vergleich ignoriert, dass die Reihenfolge der Spalten?

Kommentar zu dem Problem
Sie können erzwingen, dass die Spalten identisch sein mit diesem: df1 == df2.reindex(Spalten=df1.Spalten) Kommentarautor: Zelazny7
@Zelazny7 eigentlich, dass es nicht immer tun Sie es, wenn z.B. df2 hat zusätzliche Spalten df1. Kommentarautor: Andy Hayden

InformationsquelleAutor der Frage jcrudy | 2013-01-08

Schreibe einen Kommentar