猿问

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

我正在使用这个存储库:


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()。


皈依舞
浏览 258回答 1
1回答

撒科打诨

我想你想使用 avengers.iterrows()。基本上,您正在运行特定列的值,但这不是您想要的意义上的“行”,并且您无法通过这种方式访问其他列。试试——for _, row in avengers.iterrows():    if (2015 - row['Year']) == row['Years since joining']:        joined_accuracy_count += 1return joined_accuracy_countPS:这只是对您遇到的错误的响应。如果您正在尝试做的事情以及您将如何去做还有其他问题,那就是另一回事了。
随时随地看视频慕课网APP

相关分类

Python
我要回答