#定義空的list存放每次循環的表
ls=[]
#對不同時間做循環
for t in testdata['Time'].drop_duplicates():
#給定時間條件
tmp = testdata[testdata['Time']==t]
#提取這一時刻出現的所有ID([[]]才會生成表格)
tmp1=tmp[['ID']]
#設定臨時列
tmp1['tmp']=1
#做表連接配接,生成兩兩之間的對應表
tmp1=pd.merge(tmp1,tmp1,on = ['tmp'])
#隻保留這個表的一半
tmp1 = tmp1[tmp1['ID_x']>tmp1['ID_y']]
#把其他資訊連接配接到對應表上
tmp.columns = ['ID_x','Time_x','lon_x','lat_x']
tmp1 = pd.merge(tmp1,tmp,on='ID_x')
tmp.columns = ['ID_y','Time_y','lon_y','lat_y']
tmp1 = pd.merge(tmp1,tmp,on='ID_y')
#删除多餘的列,重命名列
tmp1 = tmp1.drop(['tmp','Time_y'],axis = 1).rename(columns={'Time_x':'Time'})
ls.append(tmp1)
#最後合并表
pd.concat(ls) #多個list合成一個dataframe
ls