Python 需要帮助跨列应用函数以创建新列吗

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

我试图应用一个函数来计算一个点和dataframe列中每一行之间的距离

我将我的特定点的纬度和经度保存为元组

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的那部分后,它工作得非常好。非常感谢。很高兴听到这个消息。我已经相应地修改了代码。