使用Blockchain API获取每日比特币矿工费:仅返回4天间隔数据
获取准确的每日比特币矿工费(Blockchain.com API)
问题
调用Blockchain.com的transaction-fees API时,默认返回4天间隔的数据,插值法无法得到准确值;添加sampled=false参数会获取15分钟粒度的原始数据,数据量过大但可通过处理得到准确的每日数据。
解决代码
通过聚合原始细粒度数据得到准确的每日矿工费:
import requests import pandas as pd # 请求原始细粒度数据 url = "https://api.blockchain.info/charts/transaction-fees?timespan=all&format=json&sampled=false" response = requests.get(url) data = response.json() # 数据格式转换 df = pd.DataFrame(data['values']) df['x'] = pd.to_datetime(df['x'], unit='s') df.set_index('x', inplace=True) df.rename(columns={'y': 'fees'}, inplace=True) # 按日聚合计算总和(与官方图表统计逻辑一致) daily_fees = df.resample('D').sum() print(daily_fees.head())
说明
sampled=false参数会返回API支持的最细粒度数据(15分钟间隔),确保数据来源准确- 使用
resample('D').sum()将细粒度数据聚合为每日总和,和官方图表展示的每日矿工费统计逻辑匹配 - 若需要其他统计维度,可将
sum()替换为mean()(日均)等聚合方法
内容的提问来源于stack exchange,提问作者dorien
相关产品推荐
相关产品推荐

