Kaggle简介Kaggle是一个数据竞赛平台,成立于2010年,2017年被谷歌收购。该平台提供了大量的开放数据集和免费计算资源。只需注册一个账号,即可在线编写代码和分析数据。BigQueryBitcoinDataset数据集主页https://www.kaggle.com/bigque...目前有超过700个Kernel。介绍称数据持续更新,目前更新至2018年9月,比特币链上数据量超过数百GB。在这里它是通过GoogleBigQueryAPI访问的,没有任何数据文件。所以这个数据集只能在线使用,不能下载,但是他们提供了数据提取的代码(https://github.com/blockchain...),所以你可以选择在本地创建这部分数据。根据文档,每个帐户每月只能访问5TB的数据。数据中有4张表:blocks、inputs、outputs、transactions。示例代码来自这里,有变化(由于库版本变化,原始代码无法执行),并省略了次要内容。从google.cloudimportbigqueryimportpandasaspdclient=bigquery.Client()#查询每天接收比比特币地址数量#AllenDay的查询,GooglCloudDeveloperAdvocate(https://medium.com/@allenday)query="""#标准SQLSELECTo.day,COUNT(DISTINCT(o.output_key))ASrecipientsFROM(SELECTTIMESTAMP_MILLIS((timestamp-MOD(timestamp,86400000)))ASday,output.output_pubkey_base58ASoutput_keyFROM`bigquery-public-data.bitcoin_blockchain.transactions`,UNNEST(outputs)ASoutput)ASoGROUPBYdayORDERBYday"""query_job=client.query(query)iterator=query_job.result(timeout=30)rows=list(iterator)#将行转换为漂亮的pandasdataframetransactions=pd.DataFrame(data=[list(x.values())forxinrows],columns=list(rows[0].keys()))#看前10个headlinestransactions.head(10)输出:transactions.tail(10)输出:图片importmatplotlibfrommatplotlibimportpyplotasplt%matplotlibinlineplt.plot(transactions['day'],transactions['recipients'])本系列下一篇:用SQL获取bigquery比特币数据——使用GoogleBigQueryAPI处理比特币数据(2)欢迎来到我的博客:https://codeplot.top/myblogbitcoin分类
