【发布时间】:2020-04-22 04:26:06
【问题描述】:
我正在尝试创建一个循环,其中循环查看每个值。如果列中的值等于列中最常见的结果(模式),则返回 1,否则应返回 0。这是我到目前为止的代码。我非常感谢您的帮助:
a= []
for i in AnswerColumns['Answer1']:
if int(AnswerColumns['Answer1'][i]) == int(AnswerColumns['Answer1'].mode()):
a.append(1)
else:
a.append(0)
【问题讨论】:
-
不就是
AnswerColumns['Answer1'] == AnswerColumns['Answer1'].mode()[0]吗? -
如果您使用的是 pandas,您可以利用库的内置方法。这被认为是最佳实践,因为这些功能通常以非常优化的方式实现,因此我们不必为它编写自定义代码。
-
你卡在哪里了?您已经在两个地方确定了价值;只需返回它。顺便说一句,我们不清楚你打算如何返回它,因为这个片段不在函数内。