簡體   English   中英

pandas DataFrame 中映射列的最有效方法

[英]Most efficient way of mapping column in pandas DataFrame

我想知道當列中需要簡單映射時, map方法是否是最佳選擇,因為使用mapapply 通常是個壞主意

我比較了以下簡單案例的以下功能。 如果您有更好的選擇,請分享。

# Case - Map the random number to its string
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(1,7,size=(5000,1)), columns=['A'])
dikt = {1:'1',2:'2',3:'3',4:'4',5:'5',6:'6'}

首先 function - 使用map方法:

def f1():
    df1 = df.copy()
    df1['B'] = df['A'].map(dikt)
    return df1

結果: 在此處輸入圖像描述

第二個 function - 在列中使用to_list方法:

def f2():
    df2 = df.copy()
    column_list = df2['A'].tolist()
    df2['B'] = [dikt[i] for i in column_list]
    return df2

結果: 在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM