![](/img/trans.png)
[英]Applying function across column for each row to create new variable in a dataframe
[英]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.