假设我有俩份数据,俩个DataFrame,如下:df1:time,value1 , 0.12 , 0.23 , 0.34 , 0.4df2:time, value3.103 , 103.106 , 203.109 , 303.112 ,40现在我想取得df2.value=20时,df1的value,需要如何写?思路是df2.value = 20 取得 time = 3.106然后如果是 df1[df1.time == 3.106].value 取出来是空的,如何取到df1里面time最接近3.106的值?在这个例子我就需要取到 0.3
2 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
time = 3.106df1[df1.time == round(time)].value
或者更一般的,不用 round()
函数:
temp_df = df1.time - time # 求两两之间的差temp_df = abs(temp_df) # 取绝对值index = temp_df.idxmin() # 取最小值的索引print(df1.value[index])
添加回答
举报
0/150
提交
取消