Pandas/Python:如何基于相近但不相等的值将两个数据帧的行匹配在一起?

2024-04-25 01:57:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python和熊猫还不熟悉,在这方面我真的需要一些帮助。。你知道吗

背景-我正在尝试从正在进行PPI扫描的扫描中提取不同步的双多普勒测量值。我已经将数据(来自MySQL)加载到了pandas dataframes中,现在需要应用一些匹配函数,如果测量时间在某个限制范围内(相隔时间<;8s),则行将被匹配。你知道吗

下面是数据帧中包含的内容的示例:https://gist.github.com/anonymous/b0cc61b461c9e2d8f7bf

dt_stop(来自LabView)是以秒为单位测量的,并且是我要基于它进行匹配的。
因此在本例中,df1的第0行与df2中包含的任何行之间有20秒,因此没有匹配。
df1的第1行与df2的第0行匹配,因为它们之间只有0.5秒的间隔。
I希望将所有匹配项水平连接起来,以便我可以沿同一行执行计算。你知道吗

我希望这有道理。非常感谢您的帮助!你知道吗

这是我当前的代码:https://gist.github.com/anonymous/6dee303f4f8260600fdd


Tags: 数据函数httpsgithubcompandas时间mysql
1条回答
网友
1楼 · 发布于 2024-04-25 01:57:02

我接受了F先生的建议,在询问中解决了这个问题。你知道吗

这是我所做的,以备将来参考。。希望它能帮助别人!你知道吗

SELECT wk.gw_id, wk.scn_id, wk.dt_start, wk.dt_stop, wk.azim, wkdat.radSpeed, wkdat.cnr, wkdat.disp,
wst.gw_id, wst.scn_id, wst.dt_start, wst.dt_stop, wst.azim, wstdat.radSpeed, wstdat.cnr, wstdat.disp  
FROM wisscas.wind_def_koshava wk
inner join wisscas.wind_def_sterenn wst on (abs(wk.dt_stop-wst.dt_stop)<2.0 and abs(wk.dt_start-wst.dt_start)<2.0)
inner join wisscas.wind_data_koshava wkdat on (wk.gw_id = wkdat.gw_id)
inner join wisscas.wind_data_sterenn wstdat on (wst.gw_id = wstdat.gw_id)
where wk.scn_id = 177 
and wk.azim between 2 and 3 
and wkdat.dist = 6160
and wst.scn_id = 252
and wst.azim between 262 and 263 
and wstdat.dist = 2480
limit 0,5000;

相关问题 更多 >