Я сравнил следующие функции для простого случая ниже. Пожалуйста, поделитесь, если у вас есть лучшие альтернативы.
# 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
Результаты:
Second function - using to_list
method in column:
def f2():
df2 = df.copy()
column_list = df2['A'].tolist()
df2['B'] = [dikt[i] for i in column_list]
return df2
Results:
введите описание изображения здесь