Это следующий вопрос, который я только что прочитал: DataFrame, apply, lambda, понимание списка .
Итак, я попробовал следующий код
import pandas as pd
# This is a dataframe containing the correct values
correct = pd.DataFrame([{"letters":"abc","data":1},{"letters":"ast","data":2},{"letters":"bkgf","data":3}])
# This is the dataframe containing source data
source = pd.DataFrame([{"c":"ab"},{"c":"kh"},{"c":"bkg"}])
temp_result = source["c"].apply(lambda x: i for (i,row) in correct.values)
Так что я попробовал разные варианты, как это
temp_result = source["c"].apply(lambda x: i for (i,row) in correct.iteritems())
Все же все возвращают ошибку: Genrator object is not callable
Итак, мой вопрос: почему он возвращает генератор, а не рассматривает его как список элементов? Я знаю, что такое выражения-генераторы, но я не могу понять, почему это выражение обрабатывается как генератор, а не как список (или лямбда-выражение)?