我正在使用这个存储库: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:这只是对您遇到的错误的响应。如果您正在尝试做的事情以及您将如何去做还有其他问题,那就是另一回事了。
添加回答
举报
0/150
提交
取消