比较数据帧 python 个匹配行

Compare data frames python matching rows

我有一个简单的问题。我需要比较不同汽车的不同轨迹。因此,我有不同长度的不同 .csv 文件,其中包含不同汽车随时间行驶的不同路线。

import pandas as pd
df = pd.read.csv("car1_route0.csv") 
df1 = pd.read.csv("car1_route1.csv")
df =
lat            lon
48.787834   11.383918
48.788124   11.384003
48.787849   11.383751

df1 =
48.787834   11.383918
48.788124   11.384003
48.787849   11.383751
48.787849   12.000000

最后,我想要一个包含所有点的数据框,计算人们经过该点的时间。

out =
lat         lon         time
48.787834   11.383918    2
48.788124   11.384003    2
48.787849   11.383751    2
48.787849   12.000000    1

concat 你的 dfs 读入后,然后 groupby 在 'lat' 和 'lon' 然后调用 size 到 return count, reset_index 恢复分组列,最后将生成的列 0 重命名为 'time':

In [8]:
merged = pd.concat([df1,df2], ignore_index=True)
merged

Out[8]:
         lat        lon
0  48.787834  11.383918
1  48.788124  11.384003
2  48.787849  11.383751
3  48.787834  11.383918
4  48.788124  11.384003
5  48.787849  11.383751
6  48.787849  12.000000

In [15]:
merged.groupby(['lat','lon']).size().reset_index().rename(columns={0:'time'})

Out[15]:
         lat        lon  time
0  48.787834  11.383918     2
1  48.787849  11.383751     2
2  48.787849  12.000000     1
3  48.788124  11.384003     2