Самый эффективный способ сопоставления столбца в pandas DataFrame - PullRequest
0 голосов
/ 05 августа 2020

Мне было интересно, был ли метод map лучшим вариантом, когда в столбце требовалось простое сопоставление, поскольку использование map или apply - это обычно плохая идея .

1 Ответ

0 голосов
/ 05 августа 2020

Я сравнил следующие функции для простого случая ниже. Пожалуйста, поделитесь, если у вас есть лучшие альтернативы.

# 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

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: введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...