Передача фрейма данных в качестве аргумента при применении лямбда-функции к фрейму данных - PullRequest
0 голосов
/ 07 января 2020

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

набор данных

      SL. No.  Class   Age  time  ...  demand  from_ind  to_ind      Fare
0           1      0  77.2    39  ...       1         5       4  11854.27
1           2      0  45.3    34  ...       1         2       4  14968.50
2           3      0  70.9    36  ...       1         1       4   5859.32
3           4      0  35.1    31  ...       1         7       4   2774.19
4           5      0  41.8    33  ...       1         7       4   3833.66

Мой код

def categorical_fare_mean(data,col,cat):
    print('entered once')
    data = data[data[col]==cat]['Fare']
    fare_mean = data['Fare'].mean()
    return fare_mean

dataset['weekday_encoded'] = dataset.apply(lambda x: categorical_fare_mean(dataset,x['weekday'],0) ,axis = 1)

Это дает мне ошибку KeyError: (0, 'occurred at index 0') Я не уверен, где я иду не так. Может ли кто-нибудь помочь мне с этим.

Я также пытался с

dataset['demand_encoded'] = dataset.apply(lambda x: categorical_fare_mean(dataset,x['demand'],1) ,axis = 1)

Я получил ошибку KeyError: (1, 'occurred at index 0') Спасибо

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