Как перебрать функцию в моем фрейме данных и получить значения, хранящиеся в одном фрейме данных с исходными значениями - PullRequest
0 голосов
/ 24 января 2019

Ниже приведена функция для определения вероятности (для того, чтобы быть в классе) для одного идентификатора (с несколькими признаками и их единственными значениями) за один раз.Как бы я повторил эту функцию по листу Excel, имеющему несколько строк и несколько функций.Я хотел бы добавить новые столбцы рядом с существующими столбцами, показывающими значение вероятности, которое мы получим с помощью функции ниже.Я преобразовал фрейм данных в словарь, где имена столбцов являются ключами.Итак, у меня есть несколько значений в каждом ключе.

def predict_many(values, features):
    values = np.array(values).reshape(-1, 1)
    features = np.array(features)
    results = pd.DataFrame(data=values, index=features, columns=["X_value"])
    results["proba"] = results.apply(lambda row: predict_one(row.X_value, row.name), axis=1).values
    return results                                                               

1 Ответ

0 голосов
/ 24 января 2019

Чтобы применить функцию, аналогичную вашей, к каждой паре ключ-значение в словаре, мы должны выполнить итерацию по словарю, передавая пары ключ-значение, так как функция возвращает df, после чего мы конкатируем dfs, когда они возвращаются

df2 = pd.DataFrame(columns = columns)
for key, value in d.items():
     temp_df = function_to_apply(key, value)
     df2 = pd.concat([df2, temp_df])

Словарь, который вы будете использовать, может нуждаться в преобразовании, чтобы получить желаемые результаты.

...