首頁  >  文章  >  後端開發  >  如何從 Pandas 中的單一函數輸出建立多個新列?

如何從 Pandas 中的單一函數輸出建立多個新列?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-28 15:09:02307瀏覽

How to Create Multiple New Columns from a Single Function Output in Pandas?

使用Pandas 函數建立多個新欄位

在Pandas 中,可以將單一函數套用於列並基於Pandas 函數建立多個新欄位

考慮以下場景:

您有一個函數extract_text_features,它接受一個文字列並傳回6 個輸出列。雖然函數本身可以工作,但將輸出分配給特定列會帶來挑戰。

使用Zip 的解:

一種有效的方法是使用zip 函數來分配將值輸出到多列:

<code class="python">def powers(x):
    return x, x**2, x**3, x**4, x**5, x**6

df = pd.DataFrame([[i] for i in range(10)], columns=['num'])
df['p1'], df['p2'], df['p3'], df['p4'], df['p5'], df['p6'] = zip(*df['num'].map(powers))</code>

這裡,map() 函數將冪應用於「num」列的每一行,並且zip 將輸出解壓縮到各個列。

這方法根據函數的輸出值有效地產生多個新欄位。它也與舊版的 Pandas 相容,不像其他一些依賴 df.assign() 等新功能的解決方案。

以上是如何從 Pandas 中的單一函數輸出建立多個新列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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