Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 针对dataframe2中的所有行对dataframe1的每一行执行的操作_Python_Pandas - Fatal编程技术网

Python 针对dataframe2中的所有行对dataframe1的每一行执行的操作

Python 针对dataframe2中的所有行对dataframe1的每一行执行的操作,python,pandas,Python,Pandas,我的代码似乎可以完成这项工作,但我很难理解这个过程 我有两个名为nodes_df,rents_df的数据帧 租金: lng lat 0 137.014525 27.142947 1 117.130288 17.813582 2 116.926154 47.886767 3 137.014442 37.578488 4 154.063238 57.568705 节点(df): lng lat

我的代码似乎可以完成这项工作,但我很难理解这个过程

我有两个名为nodes_df,rents_df的数据帧

租金:

        lng       lat   
0   137.014525  27.142947
1   117.130288  17.813582
2   116.926154  47.886767
3   137.014442  37.578488
4   154.063238  57.568705
节点(df):

        lng       lat       Location
0   124.044525  43.542947    A
1   147.110288  65.513582    B
2   136.936154  31.556767    C
3   147.464442  33.508488    D
4   157.163238  12.508705    E
对于位置“A”,我想比较位置“A”内每行的距离,如果创建一列,其中包括位置“A”内100m的位置“A”内每行的行数

我正在使用

def haversine_np(lon1, lat1, lon2, lat2):
    """
    Calculate the great circle distance between two points
    on the earth (specified in decimal degrees)
    """
    lon1, lat1, lon2, lat2 = map(np.radians, [lon1, lat1, lon2, lat2])

    dlon = lon2 - lon1
    dlat = lat2 - lat1

    a = np.sin(
        dlat / 2.0)**2 + np.cos(lat1) * np.cos(lat2) * np.sin(dlon / 2.0)**2

    c = 2 * np.arcsin(np.sqrt(a))
    km = 6371 * c
    return km

nodes_df['count'] = nodes_df.apply(lambda row: sum(haversine_np(row.lng, row.lat, rents_df.lng, rents_df.lat)< 0.1), axis=1)
但我想确定我是否可以信任count列。 4157.163238 12.508705 E

        lng       lat       Location   count
0   124.044525  43.542947    A          2
1   147.110288  65.513582    B          4
2   136.936154  31.556767    C          1
3   147.464442  33.508488    D          3