將字典中的值對應到 Pandas DataFrame 中的新欄位可能是一項繁瑣的任務。雖然equiv()函數在提供的程式碼中不可調用,但還有其他方法可以實現此目標。
一個有效的方法是將map()函數與字典結合使用。以下程式碼片段示範如何將Equiv中的映射值指派給DataFrame df中的新欄位「B」:
<code class="python">import pandas as pd equiv = {7001:1, 8001:2, 9001:3} df = pd.DataFrame({"A": [7001, 8001, 9001]}) df["B"] = df["A"].map(equiv)</code>
透過向map()函數傳遞一個引用equiv字典的lambda表達式,程式碼成功新增具有對應對應值的新欄位「B」。
<code class="python">df["B"] = df["A"].map(lambda x: equiv[x])</code>
結果是具有所需列「B」的DataFrame,其中包含映射值:
A B 0 7001 1 1 8001 2 2 9001 3
此方法可以優雅地處理字典中缺少的鍵,從而導致新列中出現NaN 值。
<code class="python">import pandas as pd equiv = {7001:1, 8001:2, 9001:3} df = pd.DataFrame({"A": [7001, 8001, 9001, 10000]}) df["B"] = df["A"].map(equiv) print(df) A B 0 7001 1 1 8001 2 2 9001 3 3 10000 NaN</code>
總之,使用 map() 函數提供了一種簡單有效的方法來添加具有映射值的列來自 Pandas DataFrames 中的字典。
以上是如何使用字典中的映射值新增新的 Pandas 欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!