【本文】
今回は少し趣向を変えて、Pythonを利用した簡単なデータ分析(可視化)の事例を紹介。
CoinMetricsが各暗号通貨(ステーブルコイン等も含む)のデータをcsv形式で提供しているので、そちらを利用して、Bitcoinのトランザクション量と価格(USD)について可視化してみた。
Pythonはデータ分析用のライブラリが豊富な為、簡単な可視化であれば、数行~数十行程度で済むのが嬉しい。
(今回の事例では、pandasとmatplotlibを利用するだけでごく簡単なコードで、何となくそれなりの可視化が可能。同じことをMS-Excelで実現しようとすると。。。)
<備考>
CoinMetricsが提供するデータは以下からダウンロード可能
(主要な暗号通貨のデータを活用できる)
https://coinmetrics.io/community-network-data/
【Pythonコード】
getCoinMetrics
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_csv('xxx\\btc.csv')
data['date'] = pd.to_datetime(data['date'])
data.set_index('date', inplace=True)
- これでdate(日付)をベースにデータ分析が可能となる。
<トランザクション量の遷移を年別で可視化>
plt.plot(data.TxCnt)
<価格(USD)の遷移を年別で可視化>
plt.plot(data.PriceUSD)
<トランザクション量と価格(USD)の年別遷移状況を複合グラフで表現>
fig, ax1 = plt.subplots()
plt.plot(data.TxCnt, color='darkblue', label='TxCnt')
ax2 = ax1.twinx()
plt.plot(data.PriceUSD, color='darkorange', label='PriceUSD')
h1, l1 = ax1.get_legend_handles_labels()
h2, l2 = ax2.get_legend_handles_labels()
ax1.legend(h1+h2, l1+l2, loc='upper left')
ax1.set_xlabel('date')
ax1.set_ylabel('TxCnt')
ax2.set_ylabel('PriceUSD')
<因みに、特定の年度に絞ることも出来る(例:2014年)>
変更箇所のみ抜粋
~
plt.plot(df_data['2014'].TxCnt, color='darkblue', label='TxCnt')
~
plt.plot(df_data['2014'].PriceUSD, color='darkorange', label='PriceUSD')
~
- トランザクション量と価格(USD)とで負の相関が見れて興味深い。この後、トランザクション量の増加傾向が続く。
<散布図で見てみる>
plt.scatter(data.TxCnt,data.PriceUSD)
- トランザクションが一定量(200,000-)に達すると、価格への影響はあまり見受けられなくなる。(と、言えそう)
以上