python初心者で恐縮です。
pythonで抽出データをtsvに出力するところまではできたのですが、そのデータを加工してグラフ化する方法がわからず困っております。
・抽出データ:Etherscan APIから抽出したコントラクトアドレスのトランザクション履歴
・データ項目:from,to,value,datetime
・表現したいグラフ:from・valueの日別推移
・加工したい内容:
①fromは個数の合計、valueは数値の合計で算出
②fromは重複削除した上で算出
また、現状pythonでtsv出力していますが、もし出力せずにそのままpython上でグラフ化できるようであればその方法も教えていただけると嬉しいです。
from to value datetime 0 0x4e6f10ed3b919cbbd872807f866ded9acdf7eede 0.0 2019-01-08 10:28:22 1 0x5a4d185c590c5815a070ed62c278e665d137a0d9 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 02:00:23 2 0x5a4d185c590c5815a070ed62c278e665d137a0d9 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 07:12:22 3 0x5a4d185c590c5815a070ed62c278e665d137a0d9 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 07:13:43 4 0x5a4d185c590c5815a070ed62c278e665d137a0d9 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 07:39:11 5 0x7efee171ed6e9fd40dff6d7beaeba006d05ba559 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:12:38 6 0x31cdabb1a0b18dd9326f150f352ab2b4597d2bab 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:14:46 7 0x6d603b234a927af2226c0688ad5f8ee7399e984c 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:16:14 8 0x6d603b234a927af2226c0688ad5f8ee7399e984c 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:16:58 9 0xcecddbe88359f6ecebe90b42643b002543f27fe9 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:19:33 10 0x3cd673f4b8e7815f4862222ef0786241f952aeae 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:21:24 11 0x3cd673f4b8e7815f4862222ef0786241f952aeae 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:21:32 12 0x3cd673f4b8e7815f4862222ef0786241f952aeae 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:22:05 13 0x02632569d858370906ac6116b0ae25059fb34a82 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.216 2019-01-11 08:22:05 14 0x3cd673f4b8e7815f4862222ef0786241f952aeae 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:22:22 15 0x3c5f0629535c755453ad88ef1fd433022f9d306a 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:23:32 16 0xbae25a69a6eb7341ee834be7635e247e22a1e57a 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:25:05 17 0xde9fcd2c2d0f20699b6f08cc4d449499271d8f18 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:25:09 18 0x862244eeca0c73925b5a4daa14815fb81f499c93 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:26:08 19 0xc35a5fec6be6957899e15559be252db882220b37 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:27:17 20 0xcc55a426d4221d299a4586aaa0cef6e5c12783a4 0x6cb4ad504816bd3021ae48286f018ac725239b89 0.024 2019-01-11 08:27:17
※抽出じのコードです。
from etherscan import accounts import pandas as pd import datetime as dt API_KEY = 'API_KEY' # change API_KEY ADDRESS = 'ADDRESS' # change address def get_tx_value(page_no, address, api_key): ac = accounts.Account(address=address,api_key=api_key) # txes = ac.get_all_transactions() txes = ac.get_transaction_page(page_no) ret = [] for t in txes: tmp = [] tmp.append(t.get('from')) tmp.append(t.get('to')) tmp.append(int(t.get('value')) / 1000000000000000000 ) tmp.append(dt.datetime.fromtimestamp(int(t.get('timeStamp')))) ret.append(tmp) return ret ret = get_tx_value(page_no=1, address=ADDRESS,api_key=API_KEY) df = pd.DataFrame(ret,columns=['from','to','value','datetime']) df.to_csv('txes.tsv',sep='\t')
回答2件
あなたの回答
tips
プレビュー