Как сопоставить значение с помощью лямбда в python кадре данных - PullRequest
0 голосов
/ 04 августа 2020

У меня есть следующий фрейм данных. Я хотел бы сопоставить значение с помощью лямбда-функции другому.

S/N 
A
Nan
B
C


Expected:
        S/N
        Apple
        Nan
        Ball
        Cat

Ответы [ 2 ]

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

Трудно ответить на этот вопрос, не видя вашего полного кода, так как есть много способов отображать значения во фреймы данных с помощью лямбда-функций. Вот один пример.

Во-первых, мы используем .apply() в столбце фрейма данных, из которого мы хотим извлечь значения. Метод apply будет перебирать кадры данных строка за строкой, изменяя значение кадра данных в этом месте в зависимости от того, что возвращает лямбда-функция.

В этом примере лямбда-функция ссылается на словарь с сохраненными значениями в этом. Переменная lambda x представляет значение, которое в настоящее время находится в кадре данных, а dict[x] представляет то, что лямбда-функция возвращает / заменяет значение кадра данных.

import pandas as pd

data = {'S/N': ['A', None, 'B', 'C']}
df = pd.DataFrame(data=data)

dict = {'A': 'Apple', None: None, 'B': 'Ball', 'C': 'Cat'}

df['S/N'] = df['S/N'].apply(lambda x: dict[x])

Вывод:


    S/N
0   Apple
1   None
2   Ball
3   Cat
0 голосов
/ 04 августа 2020

Если вы создаете функцию с желаемыми условиями, вы можете добиться этого, используя команду apply в желаемом столбце, например:

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