【发布时间】:2021-11-20 21:57:51
【问题描述】:
假设我们有两个数据帧,一个带有时间戳,另一个带有开始和结束时间戳。 df1 和 df2 为:
| DateTime | Value1 | StartDateTime | EnddDateTime | Value2 |
|---|---|---|---|---|
| 2020-01-11 12:30:00 | 1 | 2020-01-11 12:23:12 | 2020-01-11 13:10:00 | a |
| 2020-01-11 13:00:00 | 2 | 2020-01-11 14:12:20 | 2020-01-11 14:20:34 | b |
| 2020-02-11 13:30:00 | 3 | 2020-01-11 15:20:00 | 2020-01-11 15:28:10 | c |
| 2020-02-11 14:00:00 | 4 | 2020-01-11 15:45:20 | 2020-01-11 16:26:23 | d |
| 2020-02-11 14:30:00 | 5 | |||
| 2020-02-11 15:00:00 | 6 | |||
| 2020-02-11 15:30:00 | 7 | |||
| 2020-02-11 16:00:00 | 8 |
df1 的时间戳表示从DateTime 列中的时间开始的半小时。我想将 df2 开始和结束时间与这 20 分钟的时间段相匹配。如果 df2 的周期(开始和结束之间的时间)与 df1 中的两个 DateTime 匹配,则 df2 的值可能落在 df1 的两行中,即使只有一秒钟。结果应该是如下的数据框。
| DateTime | Value1 | Value2 |
|---|---|---|
| 2020-01-11 12:30:00 | 1 | a |
| 2020-01-11 13:00:00 | 2 | a |
| 2020-02-11 13:30:00 | 3 | Nan |
| 2020-02-11 14:00:00 | 4 | b |
| 2020-02-11 14:30:00 | 5 | Nan |
| 2020-02-11 15:00:00 | 6 | c |
| 2020-02-11 15:30:00 | 7 | d |
| 2020-02-11 16:00:00 | 8 | d |
对有效合并大数据有什么建议吗?
【问题讨论】:
-
您介意将数据帧作为字典共享吗?
df.to_dict('records')
标签: python pandas dataframe merge timestamp