其他分享
首页 > 其他分享> > 多个list合成一个dataframe

多个list合成一个dataframe

作者:互联网

#定义空的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

标签:tmp,合成,list,dataframe,ls,pd,Time,tmp1,ID
来源: https://blog.csdn.net/qq_43214726/article/details/122348819