Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 比较熊猫中两个数据帧的索引值_Python_Pandas_For Loop_Timestamp - Fatal编程技术网

Python 比较熊猫中两个数据帧的索引值

Python 比较熊猫中两个数据帧的索引值,python,pandas,for-loop,timestamp,Python,Pandas,For Loop,Timestamp,我试图比较一个dataframe1中的timedelta值与另一个dataframe2中的timedelta值相等的索引,然后修剪具有更多值的dataframe,使其同时启动: 数据集1: TimeStamp Col1 ... Col2500 0 days 10:37:34 346 ... 635 0 days 10:38:34 124 ... 546 0 days 10:39:34 346

我试图比较一个dataframe1中的timedelta值与另一个dataframe2中的timedelta值相等的索引,然后修剪具有更多值的dataframe,使其同时启动:

数据集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]])
预期输出将是数据集2,在最接近分钟的同一时间启动,数据集1可用于df2.index中第一个较高值的索引,如df1.index的第一个值。然后通过位置选择第二个df2:


df2[df1.index]?使用datetime和time delta查找与另一个数据库中的相应日期最接近的日期dataframe@YaleNewman如果最近的时间不准确,你能详细说明一下如何检查它吗。很抱歉,我刚刚开始学习Pandasi。如果您可以发布一些代码行来生成与您的示例集类似的数据帧,我很乐意为您提供解决方案。为此,您可以执行df.head10.to_json。然后,将json复制粘贴到名为data的变量中。然后可以运行pd.DataFramedata=data。只要在两个数据集中都有10行就足够了。我想abt searchsorted在那里你会遇到很多麻烦!这是可行的,但出于某种原因,它也使得df有两列时间戳:\n知道为什么吗?时间戳不是索引吗?iloc函数创建了新列?我以前从未见过它。什么是打印df2.info?可能只需要df2.index=pd.to_timedeltadf2.index
#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