比较数据帧python匹配行

时间:2015-09-22 15:52:23

标签: python pandas comparison dataframe

我有一个简单的问题。我需要比较不同车型的不同轨迹。所以,我有不同长度的不同.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

1 个答案:

答案 0 :(得分:2)

在阅读完毕后,

concat您的dfs,然后groupby在' lat'和' lon'然后致电size以返回计数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