首页 > 解决方案 > 在 Pandas 中使用不同的数据框查找两个日期之间的最小值

问题描述

(Not duplicate)

我有一个2 dataframe

# df1 - minute based dataset

date                  value
2018-01-01 00:00:00   1.0516 
2018-01-01 00:01:00   1.0516 
2018-01-01 00:02:00   1.0516 
2018-01-01 00:03:00   1.0516 
2018-01-01 00:04:00   1.0516 
....

# df2 - daily based dataset

date_from             date_to
2018-01-01            2018-01-01 02:21:00
2018-01-02            2018-01-02 01:43:00
2018-01-03            2018-01-03 00:33:00
2018-01-04            2018-01-04 03:11:00
2018-01-05            2018-01-05 00:19:00
....

我想要做的是在每个基于分钟的数据帧的搜索中,找到这两个日期和 之间的date_from值,然后将值放在.date_todf2df1mindate_fromdate_tomindf2

我们的 df2将如下所示:

# df2 - with min_value and min_time added

date_from             date_to                 min_value    min_time
2018-01-01            2018-01-01 02:21:00     1.0124       2018-01-01 01:04:00
2018-01-02            2018-01-02 01:43:00     1.1121       2018-01-02 02:01:00
2018-01-03            2018-01-03 00:33:00     1.0126       2018-01-03 01:04:00
2018-01-04            2018-01-04 03:11:00     1.2027       2018-01-04 02:03:00
2018-01-05            2018-01-05 00:19:00     1.0022       2018-01-05 02:21:00
....

我做了什么?

df2['min_value'] = 
df1[df1['date'].dt.hour.between(df2['date_from'], df2['date_to'])].min()

但是,它不起作用。

你能帮我一步一步解决这个问题,以便我能正确理解吗?

标签: pythonpython-3.xpandasdataframe

解决方案


推荐阅读