为了账号安全,请及时绑定邮箱和手机立即绑定

在 for 循环中使用 if 进行计数

在 for 循环中使用 if 进行计数

皈依舞 2021-08-24 17:42:57
我正在使用这个存储库:https://github.com/fivethirtyeight/data/blob/master/avengers/avengers.csv对于 DataQuest 中的练习,我必须通过从“年份”列中减去 2015(参考年份)来计算“加入后的年数”是正确的。我正在尝试使用 for 和 if 循环来完成这个简单的任务,但我很难弄清楚。如何将“for row”合并到循环中?def Years_joined():        joined_accuracy_count = 0    for row in avengers['Years since joining']:        if (2015 - avengers['Year']) == avengers['Years since joining']:            joined_accuracy_count += 1    return joined_accuracy_count编辑:抱歉没有提供更多信息。该文件位于熊猫中。所以 pd.read_csv('avengers')我有两列。“年”和“加入后的年数”。例如,年份是 1963。自加入以来的年数是 52。我正在尝试编写一个 for-if 循环来查看 2015 - 1963 = 52。如果是,请将其添加到计数中。错误:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
查看完整描述

1 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

我想你想使用 avengers.iterrows()。

基本上,您正在运行特定列的值,但这不是您想要的意义上的“行”,并且您无法通过这种方式访问其他列。

试试——


for _, row in avengers.iterrows():

    if (2015 - row['Year']) == row['Years since joining']:

        joined_accuracy_count += 1

return joined_accuracy_count

PS:这只是对您遇到的错误的响应。如果您正在尝试做的事情以及您将如何去做还有其他问题,那就是另一回事了。


查看完整回答
反对 回复 2021-08-24
  • 1 回答
  • 0 关注
  • 257 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号