python数据帧考虑到以前的迭代,遍历数据帧以查找未来的日期

2024-09-27 21:30:22 发布

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

半年以来,我一直在学习python和所有的it不可思议的库,比如Panads Dataframes

我正在努力在代码中实现迭代逻辑(见附图)。逻辑对我来说很清楚,但不幸的是我无法将代码片段编码

我想知道是否有人出去了,谁能给我一个正确的提示

提前非常感谢

Transparent iteration logic

df1 = pd.to_datetime(['01.01.2020', '15.01.2020', '01.02.2020', '01.03.2020', '15.03.2020', '01.04.2020', '01.05.2020', '01.06.2020', '01.07.2020', '01.08.2020', '01.09.2020', '01.10.2020'])
df2 = pd.to_datetime(['01.01.2020', '14.01.2020', '04.03.2020', '20.03.2020', '17.07.2020', '19.09.2020'])

Tags: to代码编码datetimeit逻辑dataframespd
1条回答
网友
1楼 · 发布于 2024-09-27 21:30:22
import pandas as pd
df1 = pd.to_datetime(['01.01.2020', '15.01.2020', '01.02.2020', '01.03.2020', '15.03.2020', '01.04.2020', '01.05.2020', '01.06.2020', '01.07.2020', '01.08.2020', '01.09.2020', '01.10.2020'], format="%d.%m.%Y")
df2 = pd.to_datetime(['01.01.2020', '14.01.2020', '04.03.2020', '20.03.2020', '17.07.2020', '19.09.2020', '03.11.2021'], format="%d.%m.%Y")


lst_df1 = list(df1.sort_values())
lst_df2 = list(df2.sort_values())

dict_df3 = {} 
 
window_start = lst_df2[0]
window_stop = lst_df2[1]
for date in lst_df1:
    while date > window_stop:
            window_start = lst_df2[0]
            lst_df2 = lst_df2[1:]
            window_stop = lst_df2[0]
            
    dict_df3[date] = window_start

df3 = pd.DataFrame.from_dict(dict_df3, orient='index').reset_index()

相关问题 更多 >

    热门问题