Pandas如何删除列中的单元格并将列向上移动?



我有以下数据框架:

<表类> 开始 完成 tbody><<tr>16.11.2021 21:36:3116.11.2021 21:37:3116.11.2021 21:39:3116.11.2021 21:40:2816.11.2021 21:41:3916.11.2021 21:40:3116.11.2021 21:56:3116.11.2021 21:48:3116.11.2021 21:50:3516.11.2021 21:58:56

您可以使用pandas.merge_asof

这是假设值在两列中都排序(如果不是,添加一个sort_values()步骤)。

df['Start'] = pd.to_datetime(df['Start'])
df['Finish'] = pd.to_datetime(df['Finish'])

pd.merge_asof(df['Start'].dropna(), df['Finish'],
left_on='Start', right_on='Finish', direction='forward')

输出:

Start              Finish
0 2021-11-16 21:36:31 2021-11-16 21:37:31
1 2021-11-16 21:39:31 2021-11-16 21:40:28
2 2021-11-16 21:41:39 2021-11-16 21:48:31
3 2021-11-16 21:56:31 2021-11-16 21:58:56

最新更新