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