繁体   English   中英

需要帮助在整个列上应用函数以创建新列

[英]Need help applying a function across a column to create a new column

我正在尝试应用一个函数,该函数计算点与dataframe列中的每一行之间的距离。

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

New_Haven_DMA = (41.310809, 72.924953)

我有一个数据框,其中包含一系列我想测量距离的经度和纬度。 我尝试定义一个函数来计算点与New_Haven_DMA之间的距离,但无法将其应用于整个数据帧。

作为参考,我在数据框中的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 :(“'系列'对象不可调用”,“在索引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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM