Python 需要帮助跨列应用函数以创建新列吗
我试图应用一个函数来计算一个点和dataframe列中每一行之间的距离 我将我的特定点的纬度和经度保存为元组Python 需要帮助跨列应用函数以创建新列吗,python,Python,我试图应用一个函数来计算一个点和dataframe列中每一行之间的距离 我将我的特定点的纬度和经度保存为元组 New_Haven_DMA = (41.310809, 72.924953) 我有一个数据框,有一系列纬度和经度的点,我想测量它们之间的距离。我曾尝试定义一个函数来计算一个点和New_Haven_DMA之间的距离,但我无法将其应用于整个数据帧 作为参考,我在dataframe中的Lat_Long列如下所示: (33.4484, -112.074) (35.1495, -90.04899
New_Haven_DMA = (41.310809, 72.924953)
我有一个数据框,有一系列纬度和经度的点,我想测量它们之间的距离。我曾尝试定义一个函数来计算一个点和New_Haven_DMA之间的距离,但我无法将其应用于整个数据帧
作为参考,我在dataframe中的Lat_Long列如下所示:
(33.4484, -112.074)
(35.1495, -90.04899999999999)
(35.1495, -90.04899999999999)
(35.2962, -89.6615)
(35.2962, -89.6615)
这就是我目前所拥有的
New_Haven_DMA = (41.310809, 72.924953)
def Dist_New_Haven(row):
coord_1 = row(df_Lat_Long['Lat_Long'])
return distance.distance(coord_1, (41.310809, 72.924953)).miles
df_Lat_Long['New_Haven'] = df_Lat_Long.apply(Dist_New_Haven, axis = 1)
我希望创建一个名为“new_Haven”的新列,列中的每个值都是从“Lat_Long”到纽黑文的距离
我收到了以下错误:
TypeError:(“'Series'对象不可调用,'发生在索引0上”)
非常感谢您的任何帮助 您需要对特定列使用
apply
试试这个:
def Dist_New_Haven(row):
return distance.distance(row, (41.310809, 72.924953)).miles
df_Lat_Long['New_Haven'] = df_Lat_Long['Lat_Long'].apply(Dist_New_Haven)
这成功了!但是,由于“axis=1”,它抛出了一个错误。移除apply的那部分后,它工作得非常好。非常感谢。很高兴听到这个消息。我已经相应地修改了代码。