如何在python中使用lambda函数获取完整的数据帧?
我有一个使用ItErrors的循环逻辑,但是性能很差如何在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
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: