为了账号安全,请及时绑定邮箱和手机立即绑定

pandas时间处理问题,如何取得某个时刻对应的值?

pandas时间处理问题,如何取得某个时刻对应的值?

白猪掌柜的 2019-03-18 20:51:50
假设我有俩份数据,俩个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 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

最接近的话, 按此题来说, round()函数最合适不过了:
内置函数的round(),用来四舍五入,第二个参数是保留小数点后多少位,默认是0

查看完整回答
反对 回复 2019-03-18
?
慕码人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])


查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 1318 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信