首頁  >  文章  >  後端開發  >  Pandas concat 函數中的「levels」、「keys」和「names」參數如何影響產生的 MultiIndex?

Pandas concat 函數中的「levels」、「keys」和「names」參數如何影響產生的 MultiIndex?

Patricia Arquette
Patricia Arquette原創
2024-10-29 07:02:30813瀏覽

How do 'levels', 'keys', and 'names' arguments in Pandas' concat function affect the resulting MultiIndex?

Pandas 的 concat 函數中的「等級」、「鍵」和名稱參數是什麼?

pandas.concat 函數是一個強大的組合工具沿著指定軸的多個 Series 或 DataFrame 物件。除了用於指定要連接的物件以及連接它們的軸的基本參數之外,concat 還提供了幾個可選參數,可讓您自訂結果輸出。其中三個參數是等級、鍵和名稱。

等級

levels 參數用於指定產生的 MultiIndex 的等級。如果未指定級別,Pandas 將從鍵推斷級別。但是,您可以指定等級來覆蓋推斷的等級或建立具有特定等級集的 MultiIndex。

levels 參數採用序列清單。每個序列代表多個索引的一個層級。序列可以是可用於建立 pandas.Index 物件的任何類型的物件。

例如,以下程式碼建立具有兩個層級的MultiIndex:

<code class="python">df = pd.concat([df1, df2], keys=[['a', 'b'], ['c', 'd']], levels=[['A', 'B'], ['C', 'D']])</code>

結果MultiIndex 將具有兩個層級「A」和「B」以及兩個層級「C」和「 D」。 MultiIndex 的第一級將是「a」和「b」值,第二級將是「c」和「d」值。

keys

keys 參數用於指定產生的 MultiIndex 的鍵。如果未指定鍵,Pandas 將使用被連接的物件的名稱。但是,您可以指定鍵來覆蓋推斷的鍵或使用一組特定的鍵來建立 MultiIndex。

keys 參數採用物件清單。每個物件代表生成的 MultiIndex 的一個鍵。物件可以是可用於建立 pandas.Index 物件的任何類型的物件。

例如,以下程式碼建立具有兩個鍵的 MultiIndex:

<code class="python">df = pd.concat([df1, df2], keys=['a', 'b'])</code>

結果MultiIndex 將有兩個鍵:「a」和「b」。 MultiIndex 的第一級將是「a」值,第二級將是「b」值。

names

names 參數用於指定產生的多重索引的等級。如果未指定名稱,Pandas 將使用被連接的物件的名稱。但是,您可以指定名稱來覆蓋推斷的名稱,或使用一組特定的名稱建立 MultiIndex。

names 參數採用字串清單。每個字串代表產生的 MultiIndex 的一個等級的名稱。字串可以是任何有效的字串。

例如,以下程式碼建立一個具有兩個名稱的 MultiIndex:

<code class="python">df = pd.concat([df1, df2], keys=[['a', 'b'], ['c', 'd']], levels=[['A', 'B'], ['C', 'D']])</code>

產生的 MultiIndex 將有兩個名稱:「A」和「B」。 MultiIndex 的第一級將是「a」和「b」值,第二級將是「c」和「d」值。

以上是Pandas concat 函數中的「levels」、「keys」和「names」參數如何影響產生的 MultiIndex?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn