ValueError:以10为底的int()无效文字:'81?36N'

问题描述 投票:-3回答:1
Traceback (most recent call last):
  File "/Users/HectorVelasquez/PycharmProjects/Project 1/Project 1 python.py", line 57, in <module>
    df['log'] = df['Latitude'].apply(lambda x: convert_rad(x))
  File "/Users/HectorVelasquez/PycharmProjects/Project 1/venv/lib/python3.7/site-packages/pandas/core/series.py", line 4045, in apply
    mapped = lib.map_infer(values, f, convert=convert_dtype)
  File "pandas/_libs/lib.pyx", line 2228, in pandas._libs.lib.map_infer
  File "/Users/HectorVelasquez/PycharmProjects/Project 1/Project 1 python.py", line 57, in <lambda>
    df['log'] = df['Latitude'].apply(lambda x: convert_rad(x))
  File "/Users/HectorVelasquez/PycharmProjects/Project 1/Project 1 python.py", line 7, in convert_rad
    degree = int(temp[0]) + int(temp[1][:-1])/60
ValueError: invalid literal for int() with base 10: '81?36N'

文本文件我不知道如何解决该错误。

纬度经度城市省/州/国家/地区

81?36N 16?40W丹麦北部格陵兰岛

加拿大Eureka Nunavut的79?59N 85?56W

78?55N 11?56E Ny-?lesund斯瓦尔巴特群岛挪威

78?13N 15?39E朗伊尔城·斯瓦尔巴特群岛挪威

转换功能] >>

def convert_rad(lon):
    temp = lon.split('°')
    degree = int(temp[0]) + int(temp[1][:-1])/60
    direction = temp[1][-1]
    if direction=='N' or direction=='E':
        sign = 1
    elif direction=='S' or direction=='W':
        sign = -1

return degree*sign*np.pi/180
Latitude_66N = convert_rad('66°0N')
Latitude_35N_66N = convert_rad('35°0N')
Latitude_35S_35N = convert_rad('35°0S')
Latitude_35S_66S = convert_rad('66°0N')
Latitude_66S = convert_rad('66°0N')
lon = convert_rad('37°22N')
lat = convert_rad('120°42W')

Image: Line 57

追踪(最近一次通话):文件“ / Users / HectorVelasquez / PycharmProjects / Project 1 / Project 1 python.py”,第57行,位于[[df ['log'] = df ['Latitude']。apply (lambda x:convert_rad(...

python valueerror
1个回答
0
投票
尝试调试一下您的问题,并要求它的最低版本,并提供足够的代码以在其他地方重现它(例如,文件和函数)。如果您查看回溯,您会看到错误在第一行。一般而言,文本比屏幕截图有用得多。话虽如此
© www.soinside.com 2019 - 2024. All rights reserved.