You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Python DataFrame按条件计算行间交易时间差的问题

解决交易间时间差匹配错误的问题

你当前的.diff()方法仅计算相邻行的时间差,无法根据hash与spent_transaction_hash的关联匹配任意位置的对应行,导致非相邻匹配时结果错误。可以通过建立哈希到时间的映射来解决这个问题,具体步骤如下:

  1. 确保时间列是datetime类型
    如果block_timestamp还不是datetime格式,先进行转换:

    import pandas as pd
    
    df['block_timestamp'] = pd.to_datetime(df['block_timestamp'])
    
  2. 构建哈希到时间的映射字典
    把hash作为键,对应的block_timestamp作为值,实现快速查找匹配的时间:

    hash_time_map = df.set_index('hash')['block_timestamp'].to_dict()
    
  3. 计算目标时间差
    通过map方法获取每行spent_transaction_hash对应的时间,再计算与当前行时间的差值(转换为分钟),无匹配项时填充0:

    # 计算时间差并转换为分钟
    df['Difference'] = (df['block_timestamp'] - df['spent_transaction_hash'].map(hash_time_map)).dt.total_seconds() / 60
    # 填充空值并转为整数
    df['Difference'] = df['Difference'].fillna(0).astype('int64')
    

这个方法会精准匹配spent_transaction_hash对应的hash行的时间,不管匹配行在DataFrame的哪个位置——比如你提到的hash为e、spent_transaction_hash为g的行,会正确找到hash=g对应的时间计算差值,不会再出现错误结果。

内容的提问来源于stack exchange,提问作者ralphito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 06:22:38