如何解决使用 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
我正在尝试创建一个新列,其中包含一个函数,该函数将字符串度数分钟和符号转换为数字位置。 该列是:
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