如何在python中使用lambda函数获取完整的数据帧?

如何在python中使用lambda函数获取完整的数据帧?,python,pandas,dataframe,lambda,Python,Pandas,Dataframe,Lambda,我有一个使用ItErrors的循环逻辑,但是性能很差 result = [] for index, row in df_test.iterrows(): result.append(product_recommendation_model.predict(df_test.iloc[[index]])) submission = pd.DataFrame({'ID': df_test['ID'], 'Result': result

我有一个使用ItErrors的循环逻辑,但是性能很差

result = []
for index, row in df_test.iterrows():
    result.append(product_recommendation_model.predict(df_test.iloc[[index]]))

submission = pd.DataFrame({'ID': df_test['ID'],
                           'Result': result
                          })

display(submission)
我想用apply lambda重写它,但我不知道如何获得完整的数据帧

a = df_test.apply(lambda x: product_recommendation_model.predict(df_test.iloc[[x]]) ,axis=1)

有人能帮我吗?谢谢。

我想这对你有用

df_new = df_test.apply(lambda row: pd.Series([row['ID'],product_recommendation_model.predict(row)] ,axis=1)
df_new.columns = ['ID','Result']


注意:您也可以像row[column\u name]一样将参数传递给预测,如果您只想传递一个要预测的列值,row将发送一行的所有列值。

最后,我可以使用下面的代码运行它

df_test.apply(lambda i: product_recommendation_model.predict(i.to_frame().T), axis=1)

谢谢,实际上我需要将数据帧传递给product_Recommension_model。通过df_测试的每一行预测为数据帧格式。我尝试过使用您的代码,如:df_test.apply(lambda行:pd.Series([row['ID'],product_recommendation_model.predict(row)],axis=1),但它将显示keyrerror: