【发布时间】:2018-03-12 20:36:06
【问题描述】:
我正在尝试比较一个 dataframe1 中的 timedelta 值等于另一个 dataframe2 中的 timedelta 值的索引,然后修剪具有更多值的数据帧以使它们同时启动:
数据集1:
TimeStamp Col1 ... Col2500
0 days 10:37:34 346 ... 635
0 days 10:38:34 124 ... 546
0 days 10:39:34 346 ... 745
数据集2:
TimeStamp Col1 ... Col50
0 days 10:25:20 123 ... 789
0 days 10:25:45 183 ... 787
...
...
0 days 10:37:40 223 ... 789
for i in df2.index:
if str(df1.index[0])[7:12] == str(df2.index[i])[7:12]:
index_value = i
break
df2 = df2.drop(df2.index[[0,i-1]])
预期输出将是 Dataset2 与 Dataset1 同时开始(最接近分钟)
【问题讨论】:
-
df2[df1.index]? -
使用pandas datetime 和 time delta 查找哪个日期最接近另一个数据框中的相应日期
-
@YaleNewman 如果不准确,您能否详细说明如何检查最接近的时间。不好意思,我刚开始学pandas
-
如果您可以发布一些代码行来生成类似于您的示例集的数据框,我很乐意为您提供解决方案。为此,您可以执行 df.head(10).to_json()。然后,将该 json 复制粘贴到一个名为 data 的变量中。然后你可以运行 pd.DataFrame(data=data)。只要 10 行在两个数据集中就足够了。
标签: python pandas for-loop timestamp