首页 > 解决方案 > for 循环考虑一个偶数和一个奇数

问题描述

我有一个具有纬度和经度值的数据集。我已将它们分为偶数位置和奇数位置。我想考虑是否必须仅使用奇数的第一个值来取第一个偶数值。

但是我的 for 循环考虑了一个偶数值和所有奇数值,然后为所有人执行保存操作。

因为我已经为属性 cooords 返回了一个函数。

import pandas as pd
df=pd.read_csv("/home/even_odd.csv")
even=df[::2]
odd = df.iloc[1::2]
for row in even.itertuples(index=True, name='Pandas'):
    lat1=getattr(row, "lat")
    lng1=getattr(row, "lon")
    for row in odd.itertuples(index=True, name='Pandas'):
    lat2=getattr(row, "lat")
    lng2=getattr(row, "lon")
    print("/////-------------")
    azimuth = calculateBearing(lat1,lng1,lat2,lng2)
    azimuth
    coords = main(interval,azimuth,lat1,lng1,lat2,lng2)
    print(coords)

我想要一个 for 循环来考虑偶数数据帧的第一个值,只有奇数数据帧的第一个值,然后依此类推。

标签: pythonpython-3.xfor-loop

解决方案


您可以尝试同时遍历奇数和偶数:

for (rowEven, rowOdd) in zip (even.itertuples(index=True, name='Pandas'), odd.itertuples(index=True, name='Pandas')):
    # do additional works
    lat1=getattr(rowEven, "lat")
    lng1=getattr(rowEven, "lon")
    lat2=getattr(rowOdd, "lat")
    lng2=getattr(rowOdd, "lon")

推荐阅读