Python 熊猫-合并多个时间列和填充值

Python 熊猫-合并多个时间列和填充值,python,pandas,Python,Pandas,我有一个数据帧(df): 我需要合并time列,对它们进行排序,然后以“向下”的方式填充缺少的值。 预期输出如下所示: index time val1 val2 0 0.1 - 2 1 0.2 1 2 2 0.3 3 2 3 0.4 1 2 4 0.8 1 9 5 1.0 1

我有一个数据帧(
df
):

我需要合并
time
列,对它们进行排序,然后以“向下”的方式填充缺少的值。 预期输出如下所示:

index    time    val1    val2
0        0.1     -       2
1        0.2     1       2
2        0.3     3       2
3        0.4     1       2
4        0.8     1       9
5        1.0     1       2
与一些预处理一起使用-
重命名
时间列并将索引转换为列,然后按排序,按删除重复项和缺少的值:


从主数据帧df创建2个数据帧,如下所示: 我假设索引不是一列

df1= df.iloc[:,[0,1,3]]
df2= df.iloc[:,[2,1,3]]
df2=df2.rename(columns={'time2':'time'})
然后合并两个数据帧

df3=pd.concat([df1,df2], ignore_index=True)
按时间值排序

df4=df3.sort_values("time").drop_duplicates('time').reset_index(drop=True)

解决方案未完成。@jezrael我忘记了前面的排序,我现在已经排序了。现在完成了吗?请将您的输出添加到答案中。@jezrael在t=0.4的输出答案中,val值是:val1=3和val2=2,而他期望t=0.4yop的val1=1和val2=2,这就是问题1下评论的原因是
0.1-2
第一行正确吗?不需要
1.0 NaN 2
?最好是NaN
df3=pd.concat([df1,df2], ignore_index=True)
df4=df3.sort_values("time").drop_duplicates('time').reset_index(drop=True)