<p>这里有一个你想做的方法</p>
<p>起始帧df1和df2</p>
<pre><code>In [100]: df1
Out[100]:
Temp SpCond Sal DO_pct DO_mgl Depth pH Turb
time
2002-07-16 14:00:00 26.0 45.31 29.3 71.6 4.9 0.95 7.9 -5
2002-07-16 14:30:00 25.9 45.22 29.2 70.4 4.9 0.98 7.9 -6
2002-07-16 15:00:00 26.0 44.92 29.0 76.2 5.3 1.02 7.9 -6
2002-07-16 15:30:00 26.0 45.06 29.1 77.9 5.4 1.06 7.9 -5
2002-07-16 16:00:00 25.9 45.23 29.2 67.0 4.6 1.11 7.8 -6
2002-07-16 16:30:00 25.9 45.33 29.3 72.9 5.0 1.17 7.9 -6
2002-07-16 17:00:00 25.9 45.46 29.4 65.8 4.5 1.21 7.9 -6
2002-07-16 17:30:00 25.9 45.40 29.4 70.5 4.9 1.19 7.9 -6
2002-07-16 18:00:00 25.9 45.27 29.3 74.3 5.1 1.15 7.9 -6
2002-07-16 18:30:00 25.8 45.57 29.5 67.6 4.7 1.11 7.8 -6
In [101]: df2
Out[101]:
P04F NH4F N02F N03F NO23F CHLA_N
time
2002-07-16 14:01:00 0.053 0.073 0.005 0.021 0.026 8.6
2002-07-16 16:05:00 0.029 0.069 0.002 0.016 0.018 9.6
2002-07-16 18:09:00 0.023 0.073 0.000 NaN 0.014 5.8
</code></pre>
<p>计算四舍五入的时间(以纳秒为单位转换为整数的时间,然后四舍五入到最接近的30*60秒)。你可能需要调整,如果你想上升或下降(到下一个半小时)</p>
^{pr2}$
<p>复制只是为了避免修改原始帧。设置新索引</p>
<pre><code>In [105]: df3 = df2.copy()
In [106]: df3.index = new_index
</code></pre>
<p>再选择并连接</p>
<pre><code>In [107]: df1.loc[df3.index].join(df3)
Out[107]:
Temp SpCond Sal DO_pct DO_mgl Depth pH Turb P04F NH4F N02F N03F NO23F CHLA_N
2002-07-16 14:00:00 26.0 45.31 29.3 71.6 4.9 0.95 7.9 -5 0.053 0.073 0.005 0.021 0.026 8.6
2002-07-16 16:00:00 25.9 45.23 29.2 67.0 4.6 1.11 7.8 -6 0.029 0.069 0.002 0.016 0.018 9.6
2002-07-16 18:00:00 25.9 45.27 29.3 74.3 5.1 1.15 7.9 -6 0.023 0.073 0.000 NaN 0.014 5.8
</code></pre>