Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用多列的列表理解_Python_Pandas - Fatal编程技术网

Python 使用多列的列表理解

Python 使用多列的列表理解,python,pandas,Python,Pandas,我有一个熊猫数据框,其中有一列表示实际值和预测值。我想使用list comprehension创建一个新列,当actuals=predicted时为1,否则为0。我知道如何使用np.where来实现这一点,但我很好奇如何使用列表理解来实现这一点 这可以使用np.其中: combined['correct'] = np.where(combined.actual==combined.predicted, 1, 0) 谢谢 您不需要np.where或list理解: 您可以使用以下选项: combi

我有一个熊猫数据框,其中有一列表示实际值和预测值。我想使用list comprehension创建一个新列,当actuals=predicted时为1,否则为0。我知道如何使用np.where来实现这一点,但我很好奇如何使用列表理解来实现这一点

这可以使用
np.其中

combined['correct'] = np.where(combined.actual==combined.predicted, 1, 0)

谢谢

您不需要np.where或list理解:

您可以使用以下选项:

combined['correct'] = (combined.actual == combined.predict).mul(1)


第二个更快,我想(+1);)OP已经知道了!“我知道如何使用np.where来实现这一点,但我很好奇如何使用列表理解来实现。”这与需求无关。这是关于可能性的。OP能不能做到?@ElisByberi我不知道如何在这里使用列表理解。在这种情况下,这没有什么意义。您只需允许Pandas进行内部数据对齐,并检查两个值是否相等,然后将布尔值转换为整数。@ElisByberi,
[int(x[0]==x[1]),用于组合[['actual','predict']]]中的x。values]
,但它可能很漂亮slow@MaxUEw-1是一个非常可怕的建议。:)只是开玩笑。
combined['correct'] = (combined.actual == combined.predict).astype(int)