我的工作表中有这些数据:
Latitude Longitude Azimute
18S552692 48W115602 147.3
18S552692 48W115602 147.3
18S552692 48W115602 238
18S552692 48W115602 238
18S512059 48W083353 218
18S571230 48W104380 327.3
Latitude Longitude Azimute
20S484430 47W533466 49.5
20S461580 47W502728 229.5
(...) (...) (...)
我只需要在Azimute行中选择147.3至327.3、49.5至229.5等。之后,减去147.3-(减去)所有其他值(在该间隔内),如果结果为+ -180(或多或少),则获得该对的经度和纬度。
例如:147.3-147.3 = 0未选择。但是147.3-327,3 = -180是可以接受的, 比选择一对:
Latitude Longitude Azimute
18S552692 48W115602 147.3
18S571230 48W104380 327.3
我尝试过,但是我不知道缺少什么...
df["Azimute"] = pd.to_numeric(df["Azimute"], errors='coerce')
j = 0
for i in range(0, len(df)):
if df.iloc[i, 5] != 'Nan':
while df.iloc[j, 5] != 'Nan':
azimute = abs(df.iloc[i, 5] - df.iloc[j + 1, 5])
if 178 <= azimute <= 181:
print("Latitude A: ", df.iloc[i, 0])
print("Longitude A: ", df.iloc[i, 1])
print("Latitude B: ", df.iloc[j + 1, 0])
print("Longitude B: ", df.iloc[j + 1, 1])
j = j + 1
else:
df.iloc[j, 5] = 'Nan'
else:
continue