2017-05-31 3 views
0

Ich versuche zu überprüfen, ob die Indizes einer Reihe von Pandas Datenrahmen identisch sind. Ich habe die folgende Funktion geschrieben, die ein Tupel von Datenrahmen als Eingabe aufnimmt.Überprüfung der Gleichheit der Indizes von mehreren Pandas Datenrahmen

def chk_index_match(*dfs): 
    ran_once = False 
    for df in dfs: 
     if not ran_once: 
      ref_df = df 
      ran_once = True 
     else: 
      if not(ref_df.index.equals(df.index)): 
       return False 
    return True 

Gibt es eine eingebaute Pandas-Funktion, die etwas ähnliches tut? Oder ein besserer Weg?

Antwort

0

ist hier eine andere Art und Weise fand ich, nicht sicher, ob es besser ist als solches aber es nutzt mehrere vorgefertigte Funktionen und weniger Codezeilen:

import numpy as np 
def chk_index_match(*dfs): 
    arrays = [np.array(df.index) for df in dfs] 
    return np.all([np.array_equal(arrays[0], a) for a in arrays]) 
Verwandte Themen