首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在具有行的数据帧中使用循环

在具有行的数据帧中使用循环
EN

Stack Overflow用户
提问于 2020-08-07 20:43:50
回答 1查看 23关注 0票数 0

我正在管理一个包含自行车数据(停车号、街道、纬度和经度、锚点等)的数据帧。我的目标是创建一个函数,一方面通过输入向屏幕上的用户询问它所在的停车号,然后我想验证这个号码是否在我正在处理的数据帧的idunplug_station列中。一旦验证,下一步将保存在两个变量中,即停车号码的经度和纬度。

这个问题是在循环中没有正确输入,我知道这可能是由于缩进或类似的东西,同样,当我生成一个else时,我也有问题,因为它打印了它。

代码语言:javascript
运行
复制
result_destino = ""
origen = int(input("Indica el nº de la estación donde te encuentras: "))
destino = int(input("Indica el nº de la estación a donde vas: "))
for i, row in stations_2019.iterrows(): #tomo como referencia el dataframe de estaciones 2019 para obtener latitud y longitud
    if i == origen:
      result_origen = row[10], row[11]
    else:
      print("No existe esa estación")

for j, row in stations_2019.iterrows():   
      if j == destino:
        result_destino = row[10], row[11]
      else:
      print("No existe esa estación")

print(result_origen)
print(result_destino)
EN

回答 1

Stack Overflow用户

发布于 2020-08-07 20:53:05

你的循环需要看起来像这样:

代码语言:javascript
运行
复制
for i, row in stations_2019.iterrows(): 
    if i == origen:
        result_origen = row[10], row[11]
        break
else:
    print("No existe esa estación")  # means: "that station doesn't exist"

elsefor一起执行,如果循环完成而没有遇到break,则会执行。它与with if的含义不同,尽管是相同的关键字。

您可能还希望在else块中执行其他操作,以防止继续执行,或者稍后在尝试使用result_origen时遇到NameError。例如,您可以引发异常,如果它在函数内部,则可以引发return。或者如果没有,那么至少要确保将result_origen设置为某个值(可能是None'')。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63302139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档