python - 比较 Pandas 中两个数据框的索引中的值

标签 python pandas for-loop timestamp

我正在尝试比较哪个索引在一个数据帧 1 中的 timedelta 值等于另一个数据帧 2 中的 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]])

预期输出将是与 Dataset1 同时(最接近分钟)开始的 Dataset2

最佳答案

您可以使用 searchsorted对于 df2.index 中第一个较高值的索引,例如 df1.index 中的第一个值。然后按 iloc 的位置选择第二个 df2 :

#necessary both indices are sorted
df1 = df1.sort_index()
df2 = df2.sort_index()

a = df2.index.searchsorted(df1.index[0])
print (a)
2

df2 = df2.iloc[a:]
print (df2)
           Col1  ...  Col50
TimeStamp                  
10:37:40    223  ...    789

关于python - 比较 Pandas 中两个数据框的索引中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46514227/

相关文章:

python - 使用 virtualenv 分离开发​​和生产依赖项

python - 将 NumPy 数组转换为带有列的 Pandas Dataframe

windows - 带变量的嵌套 FOR

iphone - 在 for 循环中使用不同的 url 多次发送 NSURLConnection 请求

c++ - 打印结构双端队列中的第一个数组

python - 在ubuntu上导入caffe时ImportError cannot import name BytesIO

python - 如何测试 python 列表中的空列表条目

python - 如何添加一条最适合散点图的线

python - pandas groupby 应用函数,采用 N 列框架并返回对象

Python字典,查找相似之处