如何解决使用 apply 在 pandas 中创建新列的错误?

How to resolve an error using apply to create a new column in pandas?

我正在尝试创建一个新列,其中包含一个函数,该函数将字符串度数分钟和符号转换为数字位置。 该列是:

Latitud 45º27.19'N 45º17,4'N 46º18,8'N 45º19.54'N 45º32.47'N ....

   def formatear (x):
    deg, minutes, direction =  re.split('[º\']', x)
    valor = float(deg) + float(minutes.replace(",","."))/60  * (-1 if direction in ['W', 'S'] else 1)
    return valor

应用函数创建新列

df["LatitudDec"] = df["Latitud"].apply(formatear)

当我应用函数时出现错误。

ValueError: not enough values to unpack (expected 3, got 2)

问题没有提供足够的信息来正确回答,但这里稍作修改以追查错误原因:

def formatear (x):
    try:
        deg, minutes, direction =  re.split('[º\']', x)
        valor = float(deg) + float(minutes.replace(",","."))/60  * (-1 if direction in ['W', 'S'] else 1)
    except ValueError:
        print(f'There has been an error associated with the Latitud {x}')
        valor = np.nan
    return valor