如何在数据框上迭代函数并获取与原始值存储在同一数据框中的值

时间:2019-01-24 11:08:50

标签: python pandas loops iterated-function

下面是一次查找一个id(具有多个特征及其一个值)的概率(在类中)的函数。我如何在具有多行和多个功能的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 :(得分:0)

要对字典中的每个键值对应用与您类似的功能,我们将遍历传递键值对的字典,因为该函数返回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])

您将要使用的字典可能需要进行转换才能获得所需的结果。