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

Pandas concat 函數中的「levels」、「keys」和「names」參數如何建立 MultiIndex?

DDD
DDD原創
2024-10-31 20:28:29498瀏覽

How do the 'levels', 'keys', and 'names' arguments in Pandas' concat function work to create a MultiIndex?

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

1.簡介

pandas.concat() 函數是一個強大的工具,用於沿指定軸組合多個 Series 或 DataFrame。它提供了許多可選參數,包括等級、鍵和名稱,可用於自訂生成的 MultiIndex。

2. Levels

levels 參數用於指定產生的 MultiIndex 的等級。預設情況下,Pandas 將從keys 參數推斷等級。但是,您可以透過將序列清單傳遞給levels參數來覆寫推斷的層級。

例如,以下程式碼使用具有兩個層級的MultiIndex沿行連接兩個DataFrame:

<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>

在此範例中,levels 參數是兩個序列的清單:['level1 ', 'level2']。這將建立一個具有兩個等級的 MultiIndex:「level1」和「level2」。鍵參數是兩個字串的列表:['df1', 'df2']。這會將值「df1」和「df2」分別指派給 MultiIndex 的第一級和第二級。

3。 Keys

keys 參數用於指定產生的 MultiIndex 的鍵。預設情況下,Pandas 將使用輸入物件的索引標籤作為鍵。但是,您可以透過將值清單傳遞給keys參數來覆寫預設鍵。

例如,以下程式碼使用具有三個層級的MultiIndex沿行連接兩個DataFrame:

<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>

在此範例中,keys 參數是兩個元組的清單:[( 'A', 'B'), ('C', 'D')]。這將建立一個具有三個等級的 MultiIndex:「level1」、「level2」和「level3」。鍵參數將值「A」和「B」指派給 MultiIndex 的第一級,將值「C」和「D」指派給 MultiIndex 的第二級。

4。 Names

names 參數用於指定產生的 MultiIndex 的等級名稱。預設情況下,Pandas 將使用輸入物件的索引標籤的名稱作為層級的名稱。但是,您可以透過將字串清單傳遞給名稱參數來覆寫預設名稱。

例如,以下程式碼使用具有兩個層級的MultiIndex 沿著行連接兩個DataFrame:

<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>

在此範例中,names 參數是兩個字串的清單:[' level1', 'level2']。這會將名稱「level1」和「level2」分別指派給 MultiIndex 的第一層和第二層。

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

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