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

如何用Python Pandas删除加密货币CSV文件中单方独有的时间行

解决加密货币CSV数据时间对齐并计算价格差值的方案

步骤1:读取并预处理数据

先把两个CSV文件读入Pandas DataFrame,同时将时间列转换为datetime类型并设为索引,这样后续能基于时间精准匹配:

import pandas as pd

# 读取文件,自动解析时间列并设为索引
df_a = pd.read_csv('file_a.csv', parse_dates=['timestamp'], index_col='timestamp')
df_b = pd.read_csv('file_b.csv', parse_dates=['timestamp'], index_col='timestamp')

# 若时间列格式特殊,可手动指定格式(示例)
# df_a = pd.read_csv('file_a.csv', parse_dates=['timestamp'], index_col='timestamp', date_format='%Y.%m.%d %H:%M')

步骤2:内连接保留共同时间点

使用内连接(inner join)方式合并两个DataFrame,这样只会保留双方都存在的时间行,自动剔除单边存在的时间点:

# 内连接合并,lsuffix/rsuffix处理同名列冲突
merged_df = df_a.join(df_b, how='inner', lsuffix='_a', rsuffix='_b')

步骤3:计算价格差值

基于合并后的DataFrame,直接新增列计算两个加密货币的价格差值:

# 计算A与B的价格差(根据需求调整顺序)
merged_df['price_diff'] = merged_df['price_a'] - merged_df['price_b']

可选:保存结果

将处理好的对齐数据和差值保存到新CSV文件:

merged_df.to_csv('aligned_price_diff.csv')

额外注意事项

  • 如果数据存在重复时间戳,先执行去重操作避免匹配错误:
    df_a = df_a[~df_a.index.duplicated()]
    df_b = df_b[~df_b.index.duplicated()]
    
  • 确保两个文件的时间列名称一致(示例中用的是timestamp,如果你的列名是datetime或其他,对应修改即可)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 03:05:02