Heim > Artikel > Backend-Entwicklung > Wie funktionieren die Argumente \'levels\', \'keys\' und \'names\' in der Concat-Funktion von Pandas, um einen MultiIndex zu erstellen?
Die Funktion pandas.concat() ist ein leistungsstarkes Werkzeug zum Kombinieren mehrerer Serien oder DataFrames entlang einer angegebenen Achse. Es bietet eine Reihe optionaler Argumente, darunter Ebenen, Schlüssel und Namen, die zum Anpassen des resultierenden MultiIndex verwendet werden können.
Das Argument „Ebenen“ wird verwendet, um die Ebenen des resultierenden MultiIndex anzugeben. Standardmäßig leitet Pandas die Ebenen aus dem Schlüsselargument ab. Sie können die abgeleiteten Ebenen jedoch überschreiben, indem Sie eine Liste von Sequenzen an das Ebenenargument übergeben.
Zum Beispiel verkettet der folgende Code zwei DataFrames entlang der Zeilen und verwendet dabei einen MultiIndex mit zwei Ebenen:
<code class="python">df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) df2 = pd.DataFrame({'C': [5, 6], 'D': [7, 8]}) df = pd.concat([df1, df2], keys=['df1', 'df2'], levels=['level1', 'level2']) print(df) level1 level2 A B C D 0 df1 1 1 3 5 7 1 df1 2 2 4 6 8</code>
In diesem Beispiel ist das Level-Argument eine Liste mit zwei Sequenzen: ['level1', 'level2']. Dadurch wird ein MultiIndex mit zwei Ebenen erstellt: „Level1“ und „Level2“. Das Schlüsselargument ist eine Liste mit zwei Zeichenfolgen: ['df1', 'df2']. Dadurch werden die Werte „df1“ und „df2“ der ersten bzw. zweiten Ebene des MultiIndex zugewiesen.
Das Schlüsselargument wird verwendet, um die Schlüssel für den resultierenden MultiIndex anzugeben. Standardmäßig verwendet Pandas die Indexbezeichnungen der Eingabeobjekte als Schlüssel. Sie können jedoch die Standardschlüssel überschreiben, indem Sie eine Werteliste an das Schlüsselargument übergeben.
Der folgende Code verkettet beispielsweise zwei DataFrames entlang der Zeilen und verwendet dabei einen MultiIndex mit drei Ebenen:
<code class="python">df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) df2 = pd.DataFrame({'C': [5, 6], 'D': [7, 8]}) df = pd.concat([df1, df2], keys=[('A', 'B'), ('C', 'D')]) print(df) level1 level2 A B C D 0 A B 1 3 5 7 1 C D 2 4 6 8</code>
In diesem Beispiel ist das Schlüsselargument eine Liste von zwei Tupeln: [('A', 'B'), ('C', 'D')]. Dadurch wird ein MultiIndex mit drei Ebenen erstellt: „Level1“, „Level2“ und „Level3“. Das Schlüsselargument weist der ersten Ebene des MultiIndex die Werte „A“ und „B“ und der zweiten Ebene des MultiIndex die Werte „C“ und „D“ zu.
Das Namensargument wird verwendet, um die Namen der Ebenen des resultierenden MultiIndex anzugeben. Standardmäßig verwendet Pandas die Namen der Indexbezeichnungen der Eingabeobjekte als Namen der Ebenen. Sie können jedoch die Standardnamen überschreiben, indem Sie eine Liste von Zeichenfolgen an das Namensargument übergeben.
Der folgende Code verkettet beispielsweise zwei DataFrames entlang der Zeilen und verwendet dabei einen MultiIndex mit zwei Ebenen:
<code class="python">df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) df2 = pd.DataFrame({'C': [5, 6], 'D': [7, 8]}) df = pd.concat([df1, df2], keys=['df1', 'df2'], names=['level1', 'level2']) print(df) level1 level2 A B C D 0 df1 1 1 3 5 7 1 df1 2 2 4 6 8</code>
In diesem Beispiel ist das Namensargument eine Liste mit zwei Zeichenfolgen: ['level1', 'level2']. Dadurch werden der ersten bzw. zweiten Ebene des MultiIndex die Namen „level1“ und „level2“ zugewiesen.
Das obige ist der detaillierte Inhalt vonWie funktionieren die Argumente \'levels\', \'keys\' und \'names\' in der Concat-Funktion von Pandas, um einen MultiIndex zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!