我正在使用此存储库:
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')
我有两栏。 “年”和“加入以来的年”。例如,Year是1963。自加入以来的年数是52。我正在尝试编写一个for-if循环来查看2015-1963 =52。如果是,请将其添加到计数中。
错误:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。
答案 0 :(得分:1)
我认为您想使用avengers.iterrows()。
基本上,您正在运行特定列的值,但这并不是您想要的“行”,因此您无法以这种方式访问其他列。
试试-
for _, row in avengers.iterrows():
if (2015 - row['Year']) == row['Years since joining']:
joined_accuracy_count += 1
return joined_accuracy_count
P.S:这仅是对您遇到的错误的回应。如果您尝试做的事情以及如何做还有其他问题,那就另当别论了。