在Pandas DataFrame中映射列的最有效方法

时间:2020-08-05 08:43:08

标签: python pandas mapping

我想知道当在列中需要简单映射时,map方法是否是最佳选择,因为使用mapapplyusually a bad idea

1 个答案:

答案 0 :(得分:0)

我比较了以下简单情况下的以下功能。如果您有更好的选择,请分享。

# 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'}

第一个功能-使用map方法:

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

结果: enter image description here

第二个功能-在列中使用to_list方法

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

结果: enter image description here

相关问题