From 9d300529a5ebfa6675c911302730b207e2fbc8f5 Mon Sep 17 00:00:00 2001 From: Aaron Cruz Date: Thu, 27 Apr 2023 21:55:50 -0400 Subject: [PATCH] Add files via upload Initial Commit --- Python Using a Pubic API.ipynb | 4147 ++++++++++++++++++++++++++++++++ 1 file changed, 4147 insertions(+) create mode 100644 Python Using a Pubic API.ipynb diff --git a/Python Using a Pubic API.ipynb b/Python Using a Pubic API.ipynb new file mode 100644 index 0000000..3e06dd7 --- /dev/null +++ b/Python Using a Pubic API.ipynb @@ -0,0 +1,4147 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "01acffc7", + "metadata": {}, + "source": [ + "# Python - Using a Public API" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "4ed1707b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'status': {'timestamp': '2023-04-28T01:10:04.540Z', 'error_code': 0, 'error_message': None, 'elapsed': 16, 'credit_count': 1, 'notice': None, 'total_count': 9420}, 'data': [{'id': 1, 'name': 'Bitcoin', 'symbol': 'BTC', 'slug': 'bitcoin', 'num_market_pairs': 10192, 'date_added': '2010-07-13T00:00:00.000Z', 'tags': ['mineable', 'pow', 'sha-256', 'store-of-value', 'state-channel', 'coinbase-ventures-portfolio', 'three-arrows-capital-portfolio', 'polychain-capital-portfolio', 'binance-labs-portfolio', 'blockchain-capital-portfolio', 'boostvc-portfolio', 'cms-holdings-portfolio', 'dcg-portfolio', 'dragonfly-capital-portfolio', 'electric-capital-portfolio', 'fabric-ventures-portfolio', 'framework-ventures-portfolio', 'galaxy-digital-portfolio', 'huobi-capital-portfolio', 'alameda-research-portfolio', 'a16z-portfolio', '1confirmation-portfolio', 'winklevoss-capital-portfolio', 'usv-portfolio', 'placeholder-ventures-portfolio', 'pantera-capital-portfolio', 'multicoin-capital-portfolio', 'paradigm-portfolio', 'btc-ecosystem'], 'max_supply': 21000000, 'circulating_supply': 19357968, 'total_supply': 19357968, 'infinite_supply': False, 'platform': None, 'cmc_rank': 1, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 29535.618671799904, 'volume_24h': 25475972247.59101, 'volume_change_24h': -23.9891, 'percent_change_1h': 0.09385811, 'percent_change_24h': 1.27511219, 'percent_change_7d': 4.54805447, 'percent_change_30d': 8.16443094, 'percent_change_60d': 25.84103472, 'percent_change_90d': 27.6150707, 'market_cap': 571749561108.905, 'market_cap_dominance': 47.1416, 'fully_diluted_market_cap': 620247992107.8, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 1027, 'name': 'Ethereum', 'symbol': 'ETH', 'slug': 'ethereum', 'num_market_pairs': 6792, 'date_added': '2015-08-07T00:00:00.000Z', 'tags': ['pos', 'smart-contracts', 'ethereum-ecosystem', 'coinbase-ventures-portfolio', 'three-arrows-capital-portfolio', 'polychain-capital-portfolio', 'binance-labs-portfolio', 'blockchain-capital-portfolio', 'boostvc-portfolio', 'cms-holdings-portfolio', 'dcg-portfolio', 'dragonfly-capital-portfolio', 'electric-capital-portfolio', 'fabric-ventures-portfolio', 'framework-ventures-portfolio', 'hashkey-capital-portfolio', 'kenetic-capital-portfolio', 'huobi-capital-portfolio', 'alameda-research-portfolio', 'a16z-portfolio', '1confirmation-portfolio', 'winklevoss-capital-portfolio', 'usv-portfolio', 'placeholder-ventures-portfolio', 'pantera-capital-portfolio', 'multicoin-capital-portfolio', 'paradigm-portfolio', 'injective-ecosystem', 'layer-1'], 'max_supply': None, 'circulating_supply': 120402439.83090551, 'total_supply': 120402439.83090551, 'infinite_supply': False, 'platform': None, 'cmc_rank': 2, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 1913.168265101174, 'volume_24h': 13067359930.451437, 'volume_change_24h': -15.2448, 'percent_change_1h': 0.16803246, 'percent_change_24h': -0.3526247, 'percent_change_7d': -1.75807133, 'percent_change_30d': 7.5539776, 'percent_change_60d': 17.01737577, 'percent_change_90d': 19.37166251, 'market_cap': 230350126925.242, 'market_cap_dominance': 18.9931, 'fully_diluted_market_cap': 230350126925.24, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 825, 'name': 'Tether', 'symbol': 'USDT', 'slug': 'tether', 'num_market_pairs': 52139, 'date_added': '2015-02-25T00:00:00.000Z', 'tags': ['payments', 'stablecoin', 'asset-backed-stablecoin', 'avalanche-ecosystem', 'solana-ecosystem', 'arbitrum-ecosytem', 'moonriver-ecosystem', 'injective-ecosystem', 'bnb-chain', 'usd-stablecoin', 'optimism-ecosystem'], 'max_supply': None, 'circulating_supply': 81615536097.75209, 'total_supply': 85090638896.27086, 'platform': {'id': 1027, 'name': 'Ethereum', 'symbol': 'ETH', 'slug': 'ethereum', 'token_address': '0xdac17f958d2ee523a2206206994597c13d831ec7'}, 'infinite_supply': False, 'cmc_rank': 3, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 1.0002773672401413, 'volume_24h': 33550001836.183464, 'volume_change_24h': -26.4891, 'percent_change_1h': 0.01509648, 'percent_change_24h': -0.00152351, 'percent_change_7d': 0.00853243, 'percent_change_30d': -0.02766158, 'percent_change_60d': 0.01929165, 'percent_change_90d': 0.01182045, 'market_cap': 81638173573.75217, 'market_cap_dominance': 6.7307, 'fully_diluted_market_cap': 85114240251.94, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 1839, 'name': 'BNB', 'symbol': 'BNB', 'slug': 'bnb', 'num_market_pairs': 1294, 'date_added': '2017-07-25T00:00:00.000Z', 'tags': ['marketplace', 'centralized-exchange', 'payments', 'smart-contracts', 'alameda-research-portfolio', 'multicoin-capital-portfolio', 'bnb-chain', 'layer-1'], 'max_supply': None, 'circulating_supply': 155863259.81731284, 'total_supply': 155863259.81731284, 'infinite_supply': False, 'platform': None, 'cmc_rank': 4, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 328.8149035003145, 'volume_24h': 726131550.2975961, 'volume_change_24h': -24.4919, 'percent_change_1h': -0.51301672, 'percent_change_24h': -1.74468593, 'percent_change_7d': 3.01668127, 'percent_change_30d': 4.77727846, 'percent_change_60d': 6.82748202, 'percent_change_90d': 6.40510968, 'market_cap': 51250162736.074165, 'market_cap_dominance': 4.2257, 'fully_diluted_market_cap': 51250162736.07, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 3408, 'name': 'USD Coin', 'symbol': 'USDC', 'slug': 'usd-coin', 'num_market_pairs': 12065, 'date_added': '2018-10-08T00:00:00.000Z', 'tags': ['medium-of-exchange', 'stablecoin', 'asset-backed-stablecoin', 'fantom-ecosystem', 'arbitrum-ecosytem', 'moonriver-ecosystem', 'bnb-chain', 'usd-stablecoin', 'optimism-ecosystem'], 'max_supply': None, 'circulating_supply': 30533726557.88739, 'total_supply': 30533726557.88739, 'platform': {'id': 1027, 'name': 'Ethereum', 'symbol': 'ETH', 'slug': 'ethereum', 'token_address': '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'}, 'infinite_supply': False, 'cmc_rank': 5, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 0.9998875869831734, 'volume_24h': 5175563273.743484, 'volume_change_24h': -26.7557, 'percent_change_1h': 0.00902952, 'percent_change_24h': -0.02146554, 'percent_change_7d': -0.02559302, 'percent_change_30d': -0.03088931, 'percent_change_60d': -0.00801699, 'percent_change_90d': -0.00751317, 'market_cap': 30530294169.570057, 'market_cap_dominance': 2.5171, 'fully_diluted_market_cap': 30530294169.57, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 52, 'name': 'XRP', 'symbol': 'XRP', 'slug': 'xrp', 'num_market_pairs': 937, 'date_added': '2013-08-04T00:00:00.000Z', 'tags': ['medium-of-exchange', 'enterprise-solutions', 'arrington-xrp-capital-portfolio', 'galaxy-digital-portfolio', 'a16z-portfolio', 'pantera-capital-portfolio'], 'max_supply': 100000000000, 'circulating_supply': 51750810378, 'total_supply': 99988998998, 'infinite_supply': False, 'platform': None, 'cmc_rank': 6, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 0.4661759370358776, 'volume_24h': 1587497474.91348, 'volume_change_24h': -2.8203, 'percent_change_1h': -0.06388753, 'percent_change_24h': -0.25752682, 'percent_change_7d': -1.80900332, 'percent_change_30d': -10.39475499, 'percent_change_60d': 23.50532568, 'percent_change_90d': 12.56166624, 'market_cap': 24124982520.33017, 'market_cap_dominance': 1.9891, 'fully_diluted_market_cap': 46617593703.59, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 2010, 'name': 'Cardano', 'symbol': 'ADA', 'slug': 'cardano', 'num_market_pairs': 772, 'date_added': '2017-10-01T00:00:00.000Z', 'tags': ['dpos', 'pos', 'platform', 'research', 'smart-contracts', 'staking', 'cardano-ecosystem', 'cardano', 'layer-1'], 'max_supply': 45000000000, 'circulating_supply': 34800090009.615, 'total_supply': 35727842284.508, 'infinite_supply': False, 'platform': None, 'cmc_rank': 7, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 0.4103869885067318, 'volume_24h': 374937054.7660597, 'volume_change_24h': -26.1708, 'percent_change_1h': 0.05067737, 'percent_change_24h': 0.01805484, 'percent_change_7d': 1.93491513, 'percent_change_30d': 11.67763773, 'percent_change_60d': 11.95902477, 'percent_change_90d': 3.35219126, 'market_cap': 14281504138.809101, 'market_cap_dominance': 1.1778, 'fully_diluted_market_cap': 18467414482.8, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 74, 'name': 'Dogecoin', 'symbol': 'DOGE', 'slug': 'dogecoin', 'num_market_pairs': 696, 'date_added': '2013-12-15T00:00:00.000Z', 'tags': ['mineable', 'pow', 'scrypt', 'medium-of-exchange', 'memes', 'payments', 'doggone-doggerel', 'bnb-chain'], 'max_supply': None, 'circulating_supply': 139117606383.7052, 'total_supply': 139117606383.7052, 'infinite_supply': False, 'platform': None, 'cmc_rank': 8, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 0.08026363370704069, 'volume_24h': 397826536.3639845, 'volume_change_24h': -47.0281, 'percent_change_1h': 0.14535876, 'percent_change_24h': 0.18807815, 'percent_change_7d': -4.85410803, 'percent_change_30d': 8.83078399, 'percent_change_60d': -1.83189282, 'percent_change_90d': -8.78636377, 'market_cap': 11166084600.98198, 'market_cap_dominance': 0.9208, 'fully_diluted_market_cap': 11166084600.98, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 3890, 'name': 'Polygon', 'symbol': 'MATIC', 'slug': 'polygon', 'num_market_pairs': 673, 'date_added': '2019-04-28T00:00:00.000Z', 'tags': ['platform', 'enterprise-solutions', 'zero-knowledge-proofs', 'scaling', 'state-channel', 'coinbase-ventures-portfolio', 'layer-2', 'binance-launchpad', 'binance-labs-portfolio', 'polygon-ecosystem', 'moonriver-ecosystem', 'injective-ecosystem'], 'max_supply': 10000000000, 'circulating_supply': 9249469069.28493, 'total_supply': 10000000000, 'infinite_supply': False, 'platform': None, 'cmc_rank': 9, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 1.01444110658447, 'volume_24h': 491528040.4021803, 'volume_change_24h': -27.5788, 'percent_change_1h': 0.21496481, 'percent_change_24h': 0.00292354, 'percent_change_7d': -3.72024454, 'percent_change_30d': -6.8059154, 'percent_change_60d': -20.07333008, 'percent_change_90d': -12.04342694, 'market_cap': 9383041637.964231, 'market_cap_dominance': 0.7736, 'fully_diluted_market_cap': 10144411065.84, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 5426, 'name': 'Solana', 'symbol': 'SOL', 'slug': 'solana', 'num_market_pairs': 457, 'date_added': '2020-04-10T00:00:00.000Z', 'tags': ['pos', 'platform', 'solana-ecosystem', 'cms-holdings-portfolio', 'kenetic-capital-portfolio', 'alameda-research-portfolio', 'multicoin-capital-portfolio', 'okex-blockdream-ventures-portfolio', 'layer-1'], 'max_supply': None, 'circulating_supply': 392894815.6071931, 'total_supply': 539312704.8875339, 'infinite_supply': False, 'platform': None, 'cmc_rank': 10, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 22.595498192666785, 'volume_24h': 456354683.6448625, 'volume_change_24h': -38.6538, 'percent_change_1h': 1.1557118, 'percent_change_24h': 2.86916315, 'percent_change_7d': 1.41644404, 'percent_change_30d': 9.72612723, 'percent_change_60d': -2.07268561, 'percent_change_90d': -8.36981403, 'market_cap': 8877654095.960482, 'market_cap_dominance': 0.732, 'fully_diluted_market_cap': 12186039248.57, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 6636, 'name': 'Polkadot', 'symbol': 'DOT', 'slug': 'polkadot-new', 'num_market_pairs': 498, 'date_added': '2020-08-19T00:00:00.000Z', 'tags': ['substrate', 'polkadot', 'binance-chain', 'polkadot-ecosystem', 'three-arrows-capital-portfolio', 'polychain-capital-portfolio', 'arrington-xrp-capital-portfolio', 'blockchain-capital-portfolio', 'boostvc-portfolio', 'cms-holdings-portfolio', 'coinfund-portfolio', 'fabric-ventures-portfolio', 'fenbushi-capital-portfolio', 'hashkey-capital-portfolio', 'kenetic-capital-portfolio', '1confirmation-portfolio', 'placeholder-ventures-portfolio', 'pantera-capital-portfolio', 'exnetwork-capital-portfolio', 'web3', 'spartan-group', 'injective-ecosystem', 'bnb-chain', 'layer-1'], 'max_supply': None, 'circulating_supply': 1178075036.880687, 'total_supply': 1307553914.1858668, 'infinite_supply': False, 'platform': None, 'cmc_rank': 11, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 5.9736043864287005, 'volume_24h': 167927598.50712848, 'volume_change_24h': -36.2863, 'percent_change_1h': 0.02694088, 'percent_change_24h': -0.36545912, 'percent_change_7d': -2.90970717, 'percent_change_30d': -1.63506415, 'percent_change_60d': -10.31024201, 'percent_change_90d': -9.97798182, 'market_cap': 7037354207.852625, 'market_cap_dominance': 0.5802, 'fully_diluted_market_cap': 7810809797.27, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 2, 'name': 'Litecoin', 'symbol': 'LTC', 'slug': 'litecoin', 'num_market_pairs': 908, 'date_added': '2013-04-28T00:00:00.000Z', 'tags': ['mineable', 'pow', 'scrypt', 'medium-of-exchange'], 'max_supply': 84000000, 'circulating_supply': 72799864.3208046, 'total_supply': 84000000, 'infinite_supply': False, 'platform': None, 'cmc_rank': 12, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 89.7300921461783, 'volume_24h': 519067196.0165708, 'volume_change_24h': -38.7703, 'percent_change_1h': 0.01269858, 'percent_change_24h': -0.39626935, 'percent_change_7d': -0.86371377, 'percent_change_30d': 0.52443425, 'percent_change_60d': -5.29665405, 'percent_change_90d': 0.92238796, 'market_cap': 6532338533.735074, 'market_cap_dominance': 0.5387, 'fully_diluted_market_cap': 7537327740.28, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 4687, 'name': 'Binance USD', 'symbol': 'BUSD', 'slug': 'binance-usd', 'num_market_pairs': 6669, 'date_added': '2019-09-20T00:00:00.000Z', 'tags': ['stablecoin', 'asset-backed-stablecoin', 'binance-chain', 'harmony-ecosystem', 'moonriver-ecosystem', 'usd-stablecoin', 'optimism-ecosystem'], 'max_supply': None, 'circulating_supply': 6280952229.493376, 'total_supply': 6280952229.493376, 'platform': {'id': 1839, 'name': 'BNB', 'symbol': 'BNB', 'slug': 'bnb', 'token_address': 'BUSD-BD1'}, 'infinite_supply': False, 'cmc_rank': 13, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 0.9999306210901645, 'volume_24h': 3415525822.584577, 'volume_change_24h': -20.9277, 'percent_change_1h': 0.00350326, 'percent_change_24h': -0.0200378, 'percent_change_7d': 0.00924921, 'percent_change_30d': -0.02014109, 'percent_change_60d': -0.03258075, 'percent_change_90d': -0.04761633, 'market_cap': 6280516463.874965, 'market_cap_dominance': 0.5177, 'fully_diluted_market_cap': 6280516463.87, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 5994, 'name': 'Shiba Inu', 'symbol': 'SHIB', 'slug': 'shiba-inu', 'num_market_pairs': 508, 'date_added': '2020-08-01T00:00:00.000Z', 'tags': ['memes', 'ethereum-ecosystem', 'doggone-doggerel'], 'max_supply': None, 'circulating_supply': 589543832993340.1, 'total_supply': 589604810668664.4, 'platform': {'id': 1027, 'name': 'Ethereum', 'symbol': 'ETH', 'slug': 'ethereum', 'token_address': '0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce'}, 'infinite_supply': False, 'cmc_rank': 14, 'self_reported_circulating_supply': None, 'self_reported_market_cap': None, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 1.028257915685864e-05, 'volume_24h': 112563076.56742297, 'volume_change_24h': -45.2023, 'percent_change_1h': 0.03265269, 'percent_change_24h': -0.46135154, 'percent_change_7d': -3.50429965, 'percent_change_30d': -1.92864639, 'percent_change_60d': -19.43189052, 'percent_change_90d': -12.86473585, 'market_cap': 6062031129.19187, 'market_cap_dominance': 0.4998, 'fully_diluted_market_cap': 6062658136.97, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}, {'id': 1958, 'name': 'TRON', 'symbol': 'TRX', 'slug': 'tron', 'num_market_pairs': 753, 'date_added': '2017-09-13T00:00:00.000Z', 'tags': ['media', 'payments', 'tron-ecosystem'], 'max_supply': None, 'circulating_supply': 90657026411.82715, 'total_supply': 90657037484.6916, 'infinite_supply': False, 'platform': None, 'cmc_rank': 15, 'self_reported_circulating_supply': 71659659264, 'self_reported_market_cap': 4719656557.900576, 'tvl_ratio': None, 'last_updated': '2023-04-28T01:08:00.000Z', 'quote': {'USD': {'price': 0.0658621127476057, 'volume_24h': 183570773.0655927, 'volume_change_24h': -31.8746, 'percent_change_1h': 0.09507833, 'percent_change_24h': 0.04951758, 'percent_change_7d': 0.63003962, 'percent_change_30d': 2.2558581, 'percent_change_60d': -5.15955432, 'percent_change_90d': 3.26480864, 'market_cap': 5970863294.898427, 'market_cap_dominance': 0.4923, 'fully_diluted_market_cap': 5970864024.18, 'tvl': None, 'last_updated': '2023-04-28T01:08:00.000Z'}}}]}\n" + ] + } + ], + "source": [ + "# Used coinmarketcap.com API to grab and look at data involving Crypto currency.\n", + "# CoinMarketCap provides starter scripts in various languaged like Phyton to gain access.\n", + "# Modified a little bit to fit this example.\n", + "\n", + "from requests import Request, Session\n", + "from requests.exceptions import ConnectionError, Timeout, TooManyRedirects\n", + "import json\n", + "\n", + "url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest'\n", + "parameters = {\n", + " 'start':'1',\n", + " 'limit':'15',\n", + " 'convert':'USD'\n", + "}\n", + "headers = {\n", + " 'Accepts': 'application/json',\n", + " 'X-CMC_PRO_API_KEY': '78721993-d3d6-4a9b-a430-c7e9a7e4d5fb',\n", + "}\n", + "\n", + "session = Session()\n", + "session.headers.update(headers)\n", + "\n", + "try:\n", + " response = session.get(url, params=parameters)\n", + " data = json.loads(response.text)\n", + " print(data)\n", + "except (ConnectionError, Timeout, TooManyRedirects) as e:\n", + " print(e)\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "034a6623", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "e8a17e59", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "pd.set_option('display.max_columns', None)\n", + "pd.set_option('display.max_rows', None)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "19649ca2", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idnamesymbolslugnum_market_pairsdate_addedtagsmax_supplycirculating_supplytotal_supplyinfinite_supplyplatformcmc_rankself_reported_circulating_supplyself_reported_market_captvl_ratiolast_updatedquote.USD.pricequote.USD.volume_24hquote.USD.volume_change_24hquote.USD.percent_change_1hquote.USD.percent_change_24hquote.USD.percent_change_7dquote.USD.percent_change_30dquote.USD.percent_change_60dquote.USD.percent_change_90dquote.USD.market_capquote.USD.market_cap_dominancequote.USD.fully_diluted_market_capquote.USD.tvlquote.USD.last_updatedplatform.idplatform.nameplatform.symbolplatform.slugplatform.token_addresstimestamp
01BitcoinBTCbitcoin101922010-07-13T00:00:00.000Z[mineable, pow, sha-256, store-of-value, state...2.100000e+071.935797e+071.935797e+07FalseNaN1NaNNaNNone2023-04-28T01:08:00.000Z29535.6186722.547597e+10-23.98910.0938581.2751124.5480548.16443125.84103527.6150715.717496e+1147.14166.202480e+11None2023-04-28T01:08:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:10:12.219264+00:00
11027EthereumETHethereum67922015-08-07T00:00:00.000Z[pos, smart-contracts, ethereum-ecosystem, coi...NaN1.204024e+081.204024e+08FalseNaN2NaNNaNNone2023-04-28T01:08:00.000Z1913.1682651.306736e+10-15.24480.168032-0.352625-1.7580717.55397817.01737619.3716632.303501e+1118.99312.303501e+11None2023-04-28T01:08:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:10:12.219264+00:00
2825TetherUSDTtether521392015-02-25T00:00:00.000Z[payments, stablecoin, asset-backed-stablecoin...NaN8.161554e+108.509064e+10FalseNaN3NaNNaNNone2023-04-28T01:08:00.000Z1.0002773.355000e+10-26.48910.015096-0.0015240.008532-0.0276620.0192920.0118208.163817e+106.73078.511424e+10None2023-04-28T01:08:00.000Z1027.0EthereumETHethereum0xdac17f958d2ee523a2206206994597c13d831ec72023-04-28 01:10:12.219264+00:00
31839BNBBNBbnb12942017-07-25T00:00:00.000Z[marketplace, centralized-exchange, payments, ...NaN1.558633e+081.558633e+08FalseNaN4NaNNaNNone2023-04-28T01:08:00.000Z328.8149047.261316e+08-24.4919-0.513017-1.7446863.0166814.7772786.8274826.4051105.125016e+104.22575.125016e+10None2023-04-28T01:08:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:10:12.219264+00:00
43408USD CoinUSDCusd-coin120652018-10-08T00:00:00.000Z[medium-of-exchange, stablecoin, asset-backed-...NaN3.053373e+103.053373e+10FalseNaN5NaNNaNNone2023-04-28T01:08:00.000Z0.9998885.175563e+09-26.75570.009030-0.021466-0.025593-0.030889-0.008017-0.0075133.053029e+102.51713.053029e+10None2023-04-28T01:08:00.000Z1027.0EthereumETHethereum0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb482023-04-28 01:10:12.219264+00:00
552XRPXRPxrp9372013-08-04T00:00:00.000Z[medium-of-exchange, enterprise-solutions, arr...1.000000e+115.175081e+109.998900e+10FalseNaN6NaNNaNNone2023-04-28T01:08:00.000Z0.4661761.587497e+09-2.8203-0.063888-0.257527-1.809003-10.39475523.50532612.5616662.412498e+101.98914.661759e+10None2023-04-28T01:08:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:10:12.219264+00:00
62010CardanoADAcardano7722017-10-01T00:00:00.000Z[dpos, pos, platform, research, smart-contract...4.500000e+103.480009e+103.572784e+10FalseNaN7NaNNaNNone2023-04-28T01:08:00.000Z0.4103873.749371e+08-26.17080.0506770.0180551.93491511.67763811.9590253.3521911.428150e+101.17781.846741e+10None2023-04-28T01:08:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:10:12.219264+00:00
774DogecoinDOGEdogecoin6962013-12-15T00:00:00.000Z[mineable, pow, scrypt, medium-of-exchange, me...NaN1.391176e+111.391176e+11FalseNaN8NaNNaNNone2023-04-28T01:08:00.000Z0.0802643.978265e+08-47.02810.1453590.188078-4.8541088.830784-1.831893-8.7863641.116608e+100.92081.116608e+10None2023-04-28T01:08:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:10:12.219264+00:00
83890PolygonMATICpolygon6732019-04-28T00:00:00.000Z[platform, enterprise-solutions, zero-knowledg...1.000000e+109.249469e+091.000000e+10FalseNaN9NaNNaNNone2023-04-28T01:08:00.000Z1.0144414.915280e+08-27.57880.2149650.002924-3.720245-6.805915-20.073330-12.0434279.383042e+090.77361.014441e+10None2023-04-28T01:08:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:10:12.219264+00:00
95426SolanaSOLsolana4572020-04-10T00:00:00.000Z[pos, platform, solana-ecosystem, cms-holdings...NaN3.928948e+085.393127e+08FalseNaN10NaNNaNNone2023-04-28T01:08:00.000Z22.5954984.563547e+08-38.65381.1557122.8691631.4164449.726127-2.072686-8.3698148.877654e+090.73201.218604e+10None2023-04-28T01:08:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:10:12.219264+00:00
106636PolkadotDOTpolkadot-new4982020-08-19T00:00:00.000Z[substrate, polkadot, binance-chain, polkadot-...NaN1.178075e+091.307554e+09FalseNaN11NaNNaNNone2023-04-28T01:08:00.000Z5.9736041.679276e+08-36.28630.026941-0.365459-2.909707-1.635064-10.310242-9.9779827.037354e+090.58027.810810e+09None2023-04-28T01:08:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:10:12.219264+00:00
112LitecoinLTClitecoin9082013-04-28T00:00:00.000Z[mineable, pow, scrypt, medium-of-exchange]8.400000e+077.279986e+078.400000e+07FalseNaN12NaNNaNNone2023-04-28T01:08:00.000Z89.7300925.190672e+08-38.77030.012699-0.396269-0.8637140.524434-5.2966540.9223886.532339e+090.53877.537328e+09None2023-04-28T01:08:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:10:12.219264+00:00
124687Binance USDBUSDbinance-usd66692019-09-20T00:00:00.000Z[stablecoin, asset-backed-stablecoin, binance-...NaN6.280952e+096.280952e+09FalseNaN13NaNNaNNone2023-04-28T01:08:00.000Z0.9999313.415526e+09-20.92770.003503-0.0200380.009249-0.020141-0.032581-0.0476166.280516e+090.51776.280516e+09None2023-04-28T01:08:00.000Z1839.0BNBBNBbnbBUSD-BD12023-04-28 01:10:12.219264+00:00
135994Shiba InuSHIBshiba-inu5082020-08-01T00:00:00.000Z[memes, ethereum-ecosystem, doggone-doggerel]NaN5.895438e+145.896048e+14FalseNaN14NaNNaNNone2023-04-28T01:08:00.000Z0.0000101.125631e+08-45.20230.032653-0.461352-3.504300-1.928646-19.431891-12.8647366.062031e+090.49986.062658e+09None2023-04-28T01:08:00.000Z1027.0EthereumETHethereum0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce2023-04-28 01:10:12.219264+00:00
141958TRONTRXtron7532017-09-13T00:00:00.000Z[media, payments, tron-ecosystem]NaN9.065703e+109.065704e+10FalseNaN157.165966e+104.719657e+09None2023-04-28T01:08:00.000Z0.0658621.835708e+08-31.87460.0950780.0495180.6300402.255858-5.1595543.2648095.970863e+090.49235.970864e+09None2023-04-28T01:08:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:10:12.219264+00:00
\n", + "
" + ], + "text/plain": [ + " id name symbol slug num_market_pairs \\\n", + "0 1 Bitcoin BTC bitcoin 10192 \n", + "1 1027 Ethereum ETH ethereum 6792 \n", + "2 825 Tether USDT tether 52139 \n", + "3 1839 BNB BNB bnb 1294 \n", + "4 3408 USD Coin USDC usd-coin 12065 \n", + "5 52 XRP XRP xrp 937 \n", + "6 2010 Cardano ADA cardano 772 \n", + "7 74 Dogecoin DOGE dogecoin 696 \n", + "8 3890 Polygon MATIC polygon 673 \n", + "9 5426 Solana SOL solana 457 \n", + "10 6636 Polkadot DOT polkadot-new 498 \n", + "11 2 Litecoin LTC litecoin 908 \n", + "12 4687 Binance USD BUSD binance-usd 6669 \n", + "13 5994 Shiba Inu SHIB shiba-inu 508 \n", + "14 1958 TRON TRX tron 753 \n", + "\n", + " date_added \\\n", + "0 2010-07-13T00:00:00.000Z \n", + "1 2015-08-07T00:00:00.000Z \n", + "2 2015-02-25T00:00:00.000Z \n", + "3 2017-07-25T00:00:00.000Z \n", + "4 2018-10-08T00:00:00.000Z \n", + "5 2013-08-04T00:00:00.000Z \n", + "6 2017-10-01T00:00:00.000Z \n", + "7 2013-12-15T00:00:00.000Z \n", + "8 2019-04-28T00:00:00.000Z \n", + "9 2020-04-10T00:00:00.000Z \n", + "10 2020-08-19T00:00:00.000Z \n", + "11 2013-04-28T00:00:00.000Z \n", + "12 2019-09-20T00:00:00.000Z \n", + "13 2020-08-01T00:00:00.000Z \n", + "14 2017-09-13T00:00:00.000Z \n", + "\n", + " tags max_supply \\\n", + "0 [mineable, pow, sha-256, store-of-value, state... 2.100000e+07 \n", + "1 [pos, smart-contracts, ethereum-ecosystem, coi... NaN \n", + "2 [payments, stablecoin, asset-backed-stablecoin... NaN \n", + "3 [marketplace, centralized-exchange, payments, ... NaN \n", + "4 [medium-of-exchange, stablecoin, asset-backed-... NaN \n", + "5 [medium-of-exchange, enterprise-solutions, arr... 1.000000e+11 \n", + "6 [dpos, pos, platform, research, smart-contract... 4.500000e+10 \n", + "7 [mineable, pow, scrypt, medium-of-exchange, me... NaN \n", + "8 [platform, enterprise-solutions, zero-knowledg... 1.000000e+10 \n", + "9 [pos, platform, solana-ecosystem, cms-holdings... NaN \n", + "10 [substrate, polkadot, binance-chain, polkadot-... NaN \n", + "11 [mineable, pow, scrypt, medium-of-exchange] 8.400000e+07 \n", + "12 [stablecoin, asset-backed-stablecoin, binance-... NaN \n", + "13 [memes, ethereum-ecosystem, doggone-doggerel] NaN \n", + "14 [media, payments, tron-ecosystem] NaN \n", + "\n", + " circulating_supply total_supply infinite_supply platform cmc_rank \\\n", + "0 1.935797e+07 1.935797e+07 False NaN 1 \n", + "1 1.204024e+08 1.204024e+08 False NaN 2 \n", + "2 8.161554e+10 8.509064e+10 False NaN 3 \n", + "3 1.558633e+08 1.558633e+08 False NaN 4 \n", + "4 3.053373e+10 3.053373e+10 False NaN 5 \n", + "5 5.175081e+10 9.998900e+10 False NaN 6 \n", + "6 3.480009e+10 3.572784e+10 False NaN 7 \n", + "7 1.391176e+11 1.391176e+11 False NaN 8 \n", + "8 9.249469e+09 1.000000e+10 False NaN 9 \n", + "9 3.928948e+08 5.393127e+08 False NaN 10 \n", + "10 1.178075e+09 1.307554e+09 False NaN 11 \n", + "11 7.279986e+07 8.400000e+07 False NaN 12 \n", + "12 6.280952e+09 6.280952e+09 False NaN 13 \n", + "13 5.895438e+14 5.896048e+14 False NaN 14 \n", + "14 9.065703e+10 9.065704e+10 False NaN 15 \n", + "\n", + " self_reported_circulating_supply self_reported_market_cap tvl_ratio \\\n", + "0 NaN NaN None \n", + "1 NaN NaN None \n", + "2 NaN NaN None \n", + "3 NaN NaN None \n", + "4 NaN NaN None \n", + "5 NaN NaN None \n", + "6 NaN NaN None \n", + "7 NaN NaN None \n", + "8 NaN NaN None \n", + "9 NaN NaN None \n", + "10 NaN NaN None \n", + "11 NaN NaN None \n", + "12 NaN NaN None \n", + "13 NaN NaN None \n", + "14 7.165966e+10 4.719657e+09 None \n", + "\n", + " last_updated quote.USD.price quote.USD.volume_24h \\\n", + "0 2023-04-28T01:08:00.000Z 29535.618672 2.547597e+10 \n", + "1 2023-04-28T01:08:00.000Z 1913.168265 1.306736e+10 \n", + "2 2023-04-28T01:08:00.000Z 1.000277 3.355000e+10 \n", + "3 2023-04-28T01:08:00.000Z 328.814904 7.261316e+08 \n", + "4 2023-04-28T01:08:00.000Z 0.999888 5.175563e+09 \n", + "5 2023-04-28T01:08:00.000Z 0.466176 1.587497e+09 \n", + "6 2023-04-28T01:08:00.000Z 0.410387 3.749371e+08 \n", + "7 2023-04-28T01:08:00.000Z 0.080264 3.978265e+08 \n", + "8 2023-04-28T01:08:00.000Z 1.014441 4.915280e+08 \n", + "9 2023-04-28T01:08:00.000Z 22.595498 4.563547e+08 \n", + "10 2023-04-28T01:08:00.000Z 5.973604 1.679276e+08 \n", + "11 2023-04-28T01:08:00.000Z 89.730092 5.190672e+08 \n", + "12 2023-04-28T01:08:00.000Z 0.999931 3.415526e+09 \n", + "13 2023-04-28T01:08:00.000Z 0.000010 1.125631e+08 \n", + "14 2023-04-28T01:08:00.000Z 0.065862 1.835708e+08 \n", + "\n", + " quote.USD.volume_change_24h quote.USD.percent_change_1h \\\n", + "0 -23.9891 0.093858 \n", + "1 -15.2448 0.168032 \n", + "2 -26.4891 0.015096 \n", + "3 -24.4919 -0.513017 \n", + "4 -26.7557 0.009030 \n", + "5 -2.8203 -0.063888 \n", + "6 -26.1708 0.050677 \n", + "7 -47.0281 0.145359 \n", + "8 -27.5788 0.214965 \n", + "9 -38.6538 1.155712 \n", + "10 -36.2863 0.026941 \n", + "11 -38.7703 0.012699 \n", + "12 -20.9277 0.003503 \n", + "13 -45.2023 0.032653 \n", + "14 -31.8746 0.095078 \n", + "\n", + " quote.USD.percent_change_24h quote.USD.percent_change_7d \\\n", + "0 1.275112 4.548054 \n", + "1 -0.352625 -1.758071 \n", + "2 -0.001524 0.008532 \n", + "3 -1.744686 3.016681 \n", + "4 -0.021466 -0.025593 \n", + "5 -0.257527 -1.809003 \n", + "6 0.018055 1.934915 \n", + "7 0.188078 -4.854108 \n", + "8 0.002924 -3.720245 \n", + "9 2.869163 1.416444 \n", + "10 -0.365459 -2.909707 \n", + "11 -0.396269 -0.863714 \n", + "12 -0.020038 0.009249 \n", + "13 -0.461352 -3.504300 \n", + "14 0.049518 0.630040 \n", + "\n", + " quote.USD.percent_change_30d quote.USD.percent_change_60d \\\n", + "0 8.164431 25.841035 \n", + "1 7.553978 17.017376 \n", + "2 -0.027662 0.019292 \n", + "3 4.777278 6.827482 \n", + "4 -0.030889 -0.008017 \n", + "5 -10.394755 23.505326 \n", + "6 11.677638 11.959025 \n", + "7 8.830784 -1.831893 \n", + "8 -6.805915 -20.073330 \n", + "9 9.726127 -2.072686 \n", + "10 -1.635064 -10.310242 \n", + "11 0.524434 -5.296654 \n", + "12 -0.020141 -0.032581 \n", + "13 -1.928646 -19.431891 \n", + "14 2.255858 -5.159554 \n", + "\n", + " quote.USD.percent_change_90d quote.USD.market_cap \\\n", + "0 27.615071 5.717496e+11 \n", + "1 19.371663 2.303501e+11 \n", + "2 0.011820 8.163817e+10 \n", + "3 6.405110 5.125016e+10 \n", + "4 -0.007513 3.053029e+10 \n", + "5 12.561666 2.412498e+10 \n", + "6 3.352191 1.428150e+10 \n", + "7 -8.786364 1.116608e+10 \n", + "8 -12.043427 9.383042e+09 \n", + "9 -8.369814 8.877654e+09 \n", + "10 -9.977982 7.037354e+09 \n", + "11 0.922388 6.532339e+09 \n", + "12 -0.047616 6.280516e+09 \n", + "13 -12.864736 6.062031e+09 \n", + "14 3.264809 5.970863e+09 \n", + "\n", + " quote.USD.market_cap_dominance quote.USD.fully_diluted_market_cap \\\n", + "0 47.1416 6.202480e+11 \n", + "1 18.9931 2.303501e+11 \n", + "2 6.7307 8.511424e+10 \n", + "3 4.2257 5.125016e+10 \n", + "4 2.5171 3.053029e+10 \n", + "5 1.9891 4.661759e+10 \n", + "6 1.1778 1.846741e+10 \n", + "7 0.9208 1.116608e+10 \n", + "8 0.7736 1.014441e+10 \n", + "9 0.7320 1.218604e+10 \n", + "10 0.5802 7.810810e+09 \n", + "11 0.5387 7.537328e+09 \n", + "12 0.5177 6.280516e+09 \n", + "13 0.4998 6.062658e+09 \n", + "14 0.4923 5.970864e+09 \n", + "\n", + " quote.USD.tvl quote.USD.last_updated platform.id platform.name \\\n", + "0 None 2023-04-28T01:08:00.000Z NaN NaN \n", + "1 None 2023-04-28T01:08:00.000Z NaN NaN \n", + "2 None 2023-04-28T01:08:00.000Z 1027.0 Ethereum \n", + "3 None 2023-04-28T01:08:00.000Z NaN NaN \n", + "4 None 2023-04-28T01:08:00.000Z 1027.0 Ethereum \n", + "5 None 2023-04-28T01:08:00.000Z NaN NaN \n", + "6 None 2023-04-28T01:08:00.000Z NaN NaN \n", + "7 None 2023-04-28T01:08:00.000Z NaN NaN \n", + "8 None 2023-04-28T01:08:00.000Z NaN NaN \n", + "9 None 2023-04-28T01:08:00.000Z NaN NaN \n", + "10 None 2023-04-28T01:08:00.000Z NaN NaN \n", + "11 None 2023-04-28T01:08:00.000Z NaN NaN \n", + "12 None 2023-04-28T01:08:00.000Z 1839.0 BNB \n", + "13 None 2023-04-28T01:08:00.000Z 1027.0 Ethereum \n", + "14 None 2023-04-28T01:08:00.000Z NaN NaN \n", + "\n", + " platform.symbol platform.slug platform.token_address \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 ETH ethereum 0xdac17f958d2ee523a2206206994597c13d831ec7 \n", + "3 NaN NaN NaN \n", + "4 ETH ethereum 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 \n", + "5 NaN NaN NaN \n", + "6 NaN NaN NaN \n", + "7 NaN NaN NaN \n", + "8 NaN NaN NaN \n", + "9 NaN NaN NaN \n", + "10 NaN NaN NaN \n", + "11 NaN NaN NaN \n", + "12 BNB bnb BUSD-BD1 \n", + "13 ETH ethereum 0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce \n", + "14 NaN NaN NaN \n", + "\n", + " timestamp \n", + "0 2023-04-28 01:10:12.219264+00:00 \n", + "1 2023-04-28 01:10:12.219264+00:00 \n", + "2 2023-04-28 01:10:12.219264+00:00 \n", + "3 2023-04-28 01:10:12.219264+00:00 \n", + "4 2023-04-28 01:10:12.219264+00:00 \n", + "5 2023-04-28 01:10:12.219264+00:00 \n", + "6 2023-04-28 01:10:12.219264+00:00 \n", + "7 2023-04-28 01:10:12.219264+00:00 \n", + "8 2023-04-28 01:10:12.219264+00:00 \n", + "9 2023-04-28 01:10:12.219264+00:00 \n", + "10 2023-04-28 01:10:12.219264+00:00 \n", + "11 2023-04-28 01:10:12.219264+00:00 \n", + "12 2023-04-28 01:10:12.219264+00:00 \n", + "13 2023-04-28 01:10:12.219264+00:00 \n", + "14 2023-04-28 01:10:12.219264+00:00 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Data came in successfully, but it is in one big clump in a JSON and a Dictionary format.\n", + "# Making it more readible here within a data frame.\n", + "\n", + "df = pd.json_normalize(data['data'])\n", + "df['timestamp'] = pd.to_datetime('now', utc=True)\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "3f1c5e24", + "metadata": {}, + "outputs": [], + "source": [ + "# Function to automatically keep making calls out to the API, and fetching the latest set of data,\n", + "\n", + "def api_runner():\n", + " global df\n", + " url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest'\n", + " parameters = {\n", + " 'start':'1',\n", + " 'limit':'15',\n", + " 'convert':'USD'\n", + " }\n", + " headers = {\n", + " 'Accepts': 'application/json',\n", + " 'X-CMC_PRO_API_KEY': '78721993-d3d6-4a9b-a430-c7e9a7e4d5fb',\n", + " }\n", + "\n", + " session = Session()\n", + " session.headers.update(headers)\n", + "\n", + " try:\n", + " response = session.get(url, params=parameters)\n", + " data = json.loads(response.text)\n", + " except (ConnectionError, Timeout, TooManyRedirects) as e:\n", + " print(e)\n", + " \n", + " df = pd.json_normalize(data['data'])\n", + " df['timestamp'] = pd.to_datetime('now', utc=True)\n", + " \n", + " # To bring data in and appending it to the existing data frame.\n", + " \n", + " #df_append = pd.DataFrame(df2)\n", + " #df = pd.concat([df,df_append])\n", + " df\n", + " \n", + " # To send the data brought in to a CSV file.\n", + " \n", + " if not os.path.isfile(r'C:\\Users\\user\\API.csv'): #if the file does not yet exist\n", + " df.to_csv(r'C:\\Users\\user\\API.csv', header='column_names')\n", + " else: #appending to the existing file instead\n", + " df.to_csv(r'C:\\Users\\user\\API.csv', mode='a', header=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "a80136a7", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API Runner completed\n", + "API Runner completed\n" + ] + }, + { + "ename": "KeyboardInterrupt", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[9], line 11\u001b[0m\n\u001b[0;32m 9\u001b[0m api_runner()\n\u001b[0;32m 10\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mAPI Runner completed\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m---> 11\u001b[0m \u001b[43msleep\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m60\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# sleep for 1 minute\u001b[39;00m\n\u001b[0;32m 12\u001b[0m exit()\n", + "\u001b[1;31mKeyboardInterrupt\u001b[0m: " + ] + } + ], + "source": [ + "# Automating process of running the script\n", + "\n", + "import os \n", + "from time import time\n", + "from time import sleep\n", + "\n", + "# CoinMarketCap allows 333 API calls a day so.\n", + "for i in range(333):\n", + " api_runner()\n", + " print('API Runner completed')\n", + " sleep(60) # sleep for 1 minute\n", + "exit()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "6494632d", + "metadata": {}, + "outputs": [], + "source": [ + "# Reading back in the CSV file that was created on my local computer.\n", + "# It has two sets of data from it running twice before I terminated the program,\n", + "# hence the two \"API Runner completed\" statements above.\n", + "\n", + "df_csv = pd.read_csv(r'C:\\Users\\user\\API.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "34a90da2", + "metadata": {}, + "outputs": [], + "source": [ + "# Will practice a little bit of data cleaning, removing the scientific notation from columns\n", + "# of the CSV file brought in.\n", + "pd.set_option('display.float_format', lambda x: '% 5f' % x)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "78388f05", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0idnamesymbolslugnum_market_pairsdate_addedtagsmax_supplycirculating_supplytotal_supplyinfinite_supplyplatformcmc_rankself_reported_circulating_supplyself_reported_market_captvl_ratiolast_updatedquote.USD.pricequote.USD.volume_24hquote.USD.volume_change_24hquote.USD.percent_change_1hquote.USD.percent_change_24hquote.USD.percent_change_7dquote.USD.percent_change_30dquote.USD.percent_change_60dquote.USD.percent_change_90dquote.USD.market_capquote.USD.market_cap_dominancequote.USD.fully_diluted_market_capquote.USD.tvlquote.USD.last_updatedplatform.idplatform.nameplatform.symbolplatform.slugplatform.token_addresstimestamp
001BitcoinBTCbitcoin101922010-07-13T00:00:00.000Z['mineable', 'pow', 'sha-256', 'store-of-value...21000000.00000019357968.00000019357968.000000FalseNaN1NaNNaNNaN2023-04-28T01:11:00.000Z29506.79688625466308464.086521-24.0552000.0585131.2929214.5676238.10076025.72807527.530662571191629911.31164647.130300619642734616.439941NaN2023-04-28T01:11:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:12:31.868791+00:00
111027EthereumETHethereum67922015-08-07T00:00:00.000Z['pos', 'smart-contracts', 'ethereum-ecosystem...NaN120402439.830906120402439.830906FalseNaN2NaNNaNNaN2023-04-28T01:11:00.000Z1911.07009313044724063.895599-15.4733000.095254-0.477470-1.7135397.47759516.91764519.346157230097501828.25640918.981700230097501828.260010NaN2023-04-28T01:11:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:12:31.868791+00:00
22825TetherUSDTtether521402015-02-25T00:00:00.000Z['payments', 'stablecoin', 'asset-backed-stabl...NaN81615536097.75209085090638896.270859FalseNaN3NaNNaNNaN2023-04-28T01:11:00.000Z1.00038833538159474.227360-26.5426000.0104380.0347960.0277910.0071190.0298250.02445681647195865.7306216.73410085123646703.529999NaN2023-04-28T01:11:00.000Z1027.000000EthereumETHethereum0xdac17f958d2ee523a2206206994597c13d831ec72023-04-28 01:12:31.868791+00:00
331839BNBBNBbnb12942017-07-25T00:00:00.000Z['marketplace', 'centralized-exchange', 'payme...NaN155863259.817313155863259.817313FalseNaN4NaNNaNNaN2023-04-28T01:11:00.000Z328.413872727210374.806210-24.312500-0.704347-1.8793103.0537714.6546386.6767066.35200751187656656.4074174.22270051187656656.410004NaN2023-04-28T01:11:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:12:31.868791+00:00
443408USD CoinUSDCusd-coin120652018-10-08T00:00:00.000Z['medium-of-exchange', 'stablecoin', 'asset-ba...NaN30533726557.88739030533726557.887390FalseNaN5NaNNaNNaN2023-04-28T01:11:00.000Z0.9999975171438693.055389-26.8784000.0042180.014747-0.0043010.0097700.006679-0.00144930533622041.7330672.51830030533622041.730000NaN2023-04-28T01:11:00.000Z1027.000000EthereumETHethereum0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb482023-04-28 01:12:31.868791+00:00
5552XRPXRPxrp9372013-08-04T00:00:00.000Z['medium-of-exchange', 'enterprise-solutions',...100000000000.00000051750810378.00000099988998998.000000FalseNaN6NaNNaNNaN2023-04-28T01:11:00.000Z0.4660481585765532.955254-2.970400-0.134230-0.296868-1.681885-10.33047423.49409112.64164824118362162.3140111.98860046604800941.570000NaN2023-04-28T01:11:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:12:31.868791+00:00
662010CardanoADAcardano7722017-10-01T00:00:00.000Z['dpos', 'pos', 'platform', 'research', 'smart...45000000000.00000034800090009.61499835727842284.508003FalseNaN7NaNNaNNaN2023-04-28T01:11:00.000Z0.410192374702723.807436-26.219100-0.1085660.0354482.08734811.63759411.9636553.43243414274701988.9378681.17720018458618622.099998NaN2023-04-28T01:11:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:12:31.868791+00:00
7774DogecoinDOGEdogecoin6962013-12-15T00:00:00.000Z['mineable', 'pow', 'scrypt', 'medium-of-excha...NaN139117606383.705200139117606383.705200FalseNaN8NaNNaNNaN2023-04-28T01:11:00.000Z0.080235397595568.301315-47.0485000.0255660.170371-4.5820378.790896-1.848901-8.66433711162082164.5608160.92050011162082164.559999NaN2023-04-28T01:11:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:12:31.868791+00:00
883890PolygonMATICpolygon6732019-04-28T00:00:00.000Z['platform', 'enterprise-solutions', 'zero-kno...10000000000.0000009249469069.28492910000000000.000000FalseNaN9NaNNaNNaN2023-04-28T01:11:00.000Z1.014176493114809.871684-27.4879000.1116920.077871-3.609515-6.829236-20.080590-11.9091419380585460.9317650.77400010141755586.900000NaN2023-04-28T01:11:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:12:31.868791+00:00
995426SolanaSOLsolana4572020-04-10T00:00:00.000Z['pos', 'platform', 'solana-ecosystem', 'cms-h...NaN392894815.607193539312704.887534FalseNaN10NaNNaNNaN2023-04-28T01:11:00.000Z22.584120457125979.947695-38.6102000.8276572.8722151.6025969.526555-2.033064-8.2856558873183718.6739920.73210012179902921.059999NaN2023-04-28T01:11:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:12:31.868791+00:00
10106636PolkadotDOTpolkadot-new4982020-08-19T00:00:00.000Z['substrate', 'polkadot', 'binance-chain', 'po...NaN1178075036.8806871307553914.185867FalseNaN11NaNNaNNaN2023-04-28T01:11:00.000Z5.969939167830818.400800-36.369200-0.125949-0.367636-2.784598-1.700566-10.341661-9.8788687033036295.9942580.5803007806017316.000000NaN2023-04-28T01:11:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:12:31.868791+00:00
11112LitecoinLTClitecoin9082013-04-28T00:00:00.000Z['mineable', 'pow', 'scrypt', 'medium-of-excha...84000000.00000072799864.32080584000000.000000FalseNaN12NaNNaNNaN2023-04-28T01:11:00.000Z89.676575518575785.926220-38.867200-0.110465-0.430383-0.7769260.498966-5.3186140.9246126528442491.5404780.5384007532832298.600000NaN2023-04-28T01:11:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:12:31.868791+00:00
12124687Binance USDBUSDbinance-usd66692019-09-20T00:00:00.000Z['stablecoin', 'asset-backed-stablecoin', 'bin...NaN6280952229.4933766280952229.493376FalseNaN13NaNNaNNaN2023-04-28T01:11:00.000Z0.9998753416102706.394595-21.053500-0.013367-0.0046250.005804-0.033183-0.035680-0.0432216280169358.2907920.5179006280169358.290000NaN2023-04-28T01:11:00.000Z1839.000000BNBBNBbnbBUSD-BD12023-04-28 01:12:31.868791+00:00
13135994Shiba InuSHIBshiba-inu5082020-08-01T00:00:00.000Z['memes', 'ethereum-ecosystem', 'doggone-dogge...NaN589543832993340.125000589604810668664.375000FalseNaN14NaNNaNNaN2023-04-28T01:11:00.000Z0.000010112464201.518790-45.243700-0.088918-0.501645-3.407074-1.980722-19.467642-12.8249116059344356.2707080.5000006059971086.150000NaN2023-04-28T01:11:00.000Z1027.000000EthereumETHethereum0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce2023-04-28 01:12:31.868791+00:00
14141958TRONTRXtron7532017-09-13T00:00:00.000Z['media', 'payments', 'tron-ecosystem']NaN90657026411.82716490657037484.691605FalseNaN1571659659264.0000004718953875.782639NaN2023-04-28T01:11:00.000Z0.065852183541144.464155-32.0477000.0758200.1066160.6791832.202890-5.0954143.3504785969974327.9122720.4926005969975057.090000NaN2023-04-28T01:11:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:12:31.868791+00:00
1501BitcoinBTCbitcoin101922010-07-13T00:00:00.000Z['mineable', 'pow', 'sha-256', 'store-of-value...21000000.00000019357968.00000019357968.000000FalseNaN1NaNNaNNaN2023-04-28T01:12:00.000Z29496.26821325455688489.068325-24.1525000.0724941.2333264.5104777.91795925.67891027.471945570987816185.55383347.113500619421632471.790039NaN2023-04-28T01:12:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:13:32.382137+00:00
1611027EthereumETHethereum67922015-08-07T00:00:00.000Z['pos', 'smart-contracts', 'ethereum-ecosystem...NaN120402439.830906120402439.830906FalseNaN2NaNNaNNaN2023-04-28T01:12:00.000Z1910.23585713042085754.487860-15.5513000.093072-0.517508-1.7819457.26863816.86247719.284099229997057836.37963918.973400229997057836.380005NaN2023-04-28T01:12:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:13:32.382137+00:00
172825TetherUSDTtether521402015-02-25T00:00:00.000Z['payments', 'stablecoin', 'asset-backed-stabl...NaN81615536097.75209085090638896.270859FalseNaN3NaNNaNNaN2023-04-28T01:12:00.000Z1.00032833528787823.392529-26.6445000.0050220.0334090.020207-0.0030160.0233430.01703881642273252.1541296.73360085118514490.300003NaN2023-04-28T01:12:00.000Z1027.000000EthereumETHethereum0xdac17f958d2ee523a2206206994597c13d831ec72023-04-28 01:13:32.382137+00:00
1831839BNBBNBbnb12942017-07-25T00:00:00.000Z['marketplace', 'centralized-exchange', 'payme...NaN155863259.817313155863259.817313FalseNaN4NaNNaNNaN2023-04-28T01:12:00.000Z328.243036727160468.484402-24.385300-0.693438-1.9735612.9933004.5643446.6143026.29744251161029643.8384254.22050051161029643.839996NaN2023-04-28T01:12:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:13:32.382137+00:00
1943408USD CoinUSDCusd-coin120652018-10-08T00:00:00.000Z['medium-of-exchange', 'stablecoin', 'asset-ba...NaN30533726557.88739030533726557.887390FalseNaN5NaNNaNNaN2023-04-28T01:12:00.000Z0.9999455170904432.284743-26.9454000.0025510.008675-0.0231240.000106-0.000366-0.01486830532055016.3517992.51820030532055016.349998NaN2023-04-28T01:12:00.000Z1027.000000EthereumETHethereum0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb482023-04-28 01:13:32.382137+00:00
20552XRPXRPxrp9372013-08-04T00:00:00.000Z['medium-of-exchange', 'enterprise-solutions',...100000000000.00000051750810378.00000099988998998.000000FalseNaN6NaNNaNNaN2023-04-28T01:12:00.000Z0.4659411585098121.209140-3.092600-0.137245-0.327543-1.707961-10.37069823.46563212.62880324112808046.6239201.98960046594068518.919998NaN2023-04-28T01:12:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:13:32.382137+00:00
2162010CardanoADAcardano7722017-10-01T00:00:00.000Z['dpos', 'pos', 'platform', 'research', 'smart...45000000000.00000034800090009.61499835727842284.508003FalseNaN7NaNNaNNaN2023-04-28T01:12:00.000Z0.410097374672455.031408-26.265500-0.108008-0.0001942.05980111.57957411.9361163.41485514271423602.6255471.17690018454379340.419998NaN2023-04-28T01:12:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:13:32.382137+00:00
22774DogecoinDOGEdogecoin6962013-12-15T00:00:00.000Z['mineable', 'pow', 'scrypt', 'medium-of-excha...NaN139117606383.705200139117606383.705200FalseNaN8NaNNaNNaN2023-04-28T01:12:00.000Z0.080211397655072.944111-47.0672000.0020690.120476-4.6188928.734357-1.889375-8.69377611158752526.0809360.92020011158752526.080000NaN2023-04-28T01:12:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:13:32.382137+00:00
2383890PolygonMATICpolygon6732019-04-28T00:00:00.000Z['platform', 'enterprise-solutions', 'zero-kno...10000000000.0000009249469069.28492910000000000.000000FalseNaN9NaNNaNNaN2023-04-28T01:12:00.000Z1.013757493011276.293557-27.5426000.0924670.019251-3.654247-6.882556-20.116167-11.9585709376717553.4898170.77370010137573825.320000NaN2023-04-28T01:12:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:13:32.382137+00:00
2495426SolanaSOLsolana4572020-04-10T00:00:00.000Z['pos', 'platform', 'solana-ecosystem', 'cms-h...NaN392894815.607193539312704.887534FalseNaN10NaNNaNNaN2023-04-28T01:12:00.000Z22.581118456869278.969472-38.7061000.8484642.8389491.5614469.461885-2.052123-8.3034048872004092.2695770.73200012178283689.950001NaN2023-04-28T01:12:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:13:32.382137+00:00
25106636PolkadotDOTpolkadot-new4982020-08-19T00:00:00.000Z['substrate', 'polkadot', 'binance-chain', 'po...NaN1178075036.8806871307553914.185867FalseNaN11NaNNaNNaN2023-04-28T01:12:00.000Z5.966781167748125.142033-36.461900-0.149649-0.449677-2.841935-1.769014-10.393987-9.9134957029315193.4904070.5800007801887237.700000NaN2023-04-28T01:12:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:13:32.382137+00:00
26112LitecoinLTClitecoin9082013-04-28T00:00:00.000Z['mineable', 'pow', 'scrypt', 'medium-of-excha...84000000.00000072799864.32080584000000.000000FalseNaN12NaNNaNNaN2023-04-28T01:12:00.000Z89.661656518560620.438799-38.916600-0.106580-0.454092-0.8015340.465438-5.3414460.9099946527356425.8342830.5383007531579143.530000NaN2023-04-28T01:12:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:13:32.382137+00:00
27124687Binance USDBUSDbinance-usd66692019-09-20T00:00:00.000Z['stablecoin', 'asset-backed-stablecoin', 'bin...NaN6280952229.4933766280952229.493376FalseNaN13NaNNaNNaN2023-04-28T01:12:00.000Z1.0001063414867576.745991-21.1279000.0188430.0117030.028220-0.013761-0.0142800.0402306281618521.6990130.5180006281618521.700000NaN2023-04-28T01:12:00.000Z1839.000000BNBBNBbnbBUSD-BD12023-04-28 01:13:32.382137+00:00
28135994Shiba InuSHIBshiba-inu5082020-08-01T00:00:00.000Z['memes', 'ethereum-ecosystem', 'doggone-dogge...NaN589543832993340.125000589604810668664.375000FalseNaN14NaNNaNNaN2023-04-28T01:12:00.000Z0.000010112442496.794049-45.300200-0.073218-0.533922-3.436574-2.005502-19.472010-12.8521146058689364.0525120.4999006059316026.180000NaN2023-04-28T01:12:00.000Z1027.000000EthereumETHethereum0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce2023-04-28 01:13:32.382137+00:00
29141958TRONTRXtron7532017-09-13T00:00:00.000Z['media', 'payments', 'tron-ecosystem']NaN90657026411.82716490657037484.691605FalseNaN1571659659264.0000004718186921.576477NaN2023-04-28T01:12:00.000Z0.065842183519075.382486-32.0990000.0721860.0796250.6483642.168105-5.1075253.3478275969004049.9561830.4925005969004779.010000NaN2023-04-28T01:12:00.000ZNaNNaNNaNNaNNaN2023-04-28 01:13:32.382137+00:00
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 id name symbol slug num_market_pairs \\\n", + "0 0 1 Bitcoin BTC bitcoin 10192 \n", + "1 1 1027 Ethereum ETH ethereum 6792 \n", + "2 2 825 Tether USDT tether 52140 \n", + "3 3 1839 BNB BNB bnb 1294 \n", + "4 4 3408 USD Coin USDC usd-coin 12065 \n", + "5 5 52 XRP XRP xrp 937 \n", + "6 6 2010 Cardano ADA cardano 772 \n", + "7 7 74 Dogecoin DOGE dogecoin 696 \n", + "8 8 3890 Polygon MATIC polygon 673 \n", + "9 9 5426 Solana SOL solana 457 \n", + "10 10 6636 Polkadot DOT polkadot-new 498 \n", + "11 11 2 Litecoin LTC litecoin 908 \n", + "12 12 4687 Binance USD BUSD binance-usd 6669 \n", + "13 13 5994 Shiba Inu SHIB shiba-inu 508 \n", + "14 14 1958 TRON TRX tron 753 \n", + "15 0 1 Bitcoin BTC bitcoin 10192 \n", + "16 1 1027 Ethereum ETH ethereum 6792 \n", + "17 2 825 Tether USDT tether 52140 \n", + "18 3 1839 BNB BNB bnb 1294 \n", + "19 4 3408 USD Coin USDC usd-coin 12065 \n", + "20 5 52 XRP XRP xrp 937 \n", + "21 6 2010 Cardano ADA cardano 772 \n", + "22 7 74 Dogecoin DOGE dogecoin 696 \n", + "23 8 3890 Polygon MATIC polygon 673 \n", + "24 9 5426 Solana SOL solana 457 \n", + "25 10 6636 Polkadot DOT polkadot-new 498 \n", + "26 11 2 Litecoin LTC litecoin 908 \n", + "27 12 4687 Binance USD BUSD binance-usd 6669 \n", + "28 13 5994 Shiba Inu SHIB shiba-inu 508 \n", + "29 14 1958 TRON TRX tron 753 \n", + "\n", + " date_added \\\n", + "0 2010-07-13T00:00:00.000Z \n", + "1 2015-08-07T00:00:00.000Z \n", + "2 2015-02-25T00:00:00.000Z \n", + "3 2017-07-25T00:00:00.000Z \n", + "4 2018-10-08T00:00:00.000Z \n", + "5 2013-08-04T00:00:00.000Z \n", + "6 2017-10-01T00:00:00.000Z \n", + "7 2013-12-15T00:00:00.000Z \n", + "8 2019-04-28T00:00:00.000Z \n", + "9 2020-04-10T00:00:00.000Z \n", + "10 2020-08-19T00:00:00.000Z \n", + "11 2013-04-28T00:00:00.000Z \n", + "12 2019-09-20T00:00:00.000Z \n", + "13 2020-08-01T00:00:00.000Z \n", + "14 2017-09-13T00:00:00.000Z \n", + "15 2010-07-13T00:00:00.000Z \n", + "16 2015-08-07T00:00:00.000Z \n", + "17 2015-02-25T00:00:00.000Z \n", + "18 2017-07-25T00:00:00.000Z \n", + "19 2018-10-08T00:00:00.000Z \n", + "20 2013-08-04T00:00:00.000Z \n", + "21 2017-10-01T00:00:00.000Z \n", + "22 2013-12-15T00:00:00.000Z \n", + "23 2019-04-28T00:00:00.000Z \n", + "24 2020-04-10T00:00:00.000Z \n", + "25 2020-08-19T00:00:00.000Z \n", + "26 2013-04-28T00:00:00.000Z \n", + "27 2019-09-20T00:00:00.000Z \n", + "28 2020-08-01T00:00:00.000Z \n", + "29 2017-09-13T00:00:00.000Z \n", + "\n", + " tags max_supply \\\n", + "0 ['mineable', 'pow', 'sha-256', 'store-of-value... 21000000.000000 \n", + "1 ['pos', 'smart-contracts', 'ethereum-ecosystem... NaN \n", + "2 ['payments', 'stablecoin', 'asset-backed-stabl... NaN \n", + "3 ['marketplace', 'centralized-exchange', 'payme... NaN \n", + "4 ['medium-of-exchange', 'stablecoin', 'asset-ba... NaN \n", + "5 ['medium-of-exchange', 'enterprise-solutions',... 100000000000.000000 \n", + "6 ['dpos', 'pos', 'platform', 'research', 'smart... 45000000000.000000 \n", + "7 ['mineable', 'pow', 'scrypt', 'medium-of-excha... NaN \n", + "8 ['platform', 'enterprise-solutions', 'zero-kno... 10000000000.000000 \n", + "9 ['pos', 'platform', 'solana-ecosystem', 'cms-h... NaN \n", + "10 ['substrate', 'polkadot', 'binance-chain', 'po... NaN \n", + "11 ['mineable', 'pow', 'scrypt', 'medium-of-excha... 84000000.000000 \n", + "12 ['stablecoin', 'asset-backed-stablecoin', 'bin... NaN \n", + "13 ['memes', 'ethereum-ecosystem', 'doggone-dogge... NaN \n", + "14 ['media', 'payments', 'tron-ecosystem'] NaN \n", + "15 ['mineable', 'pow', 'sha-256', 'store-of-value... 21000000.000000 \n", + "16 ['pos', 'smart-contracts', 'ethereum-ecosystem... NaN \n", + "17 ['payments', 'stablecoin', 'asset-backed-stabl... NaN \n", + "18 ['marketplace', 'centralized-exchange', 'payme... NaN \n", + "19 ['medium-of-exchange', 'stablecoin', 'asset-ba... NaN \n", + "20 ['medium-of-exchange', 'enterprise-solutions',... 100000000000.000000 \n", + "21 ['dpos', 'pos', 'platform', 'research', 'smart... 45000000000.000000 \n", + "22 ['mineable', 'pow', 'scrypt', 'medium-of-excha... NaN \n", + "23 ['platform', 'enterprise-solutions', 'zero-kno... 10000000000.000000 \n", + "24 ['pos', 'platform', 'solana-ecosystem', 'cms-h... NaN \n", + "25 ['substrate', 'polkadot', 'binance-chain', 'po... NaN \n", + "26 ['mineable', 'pow', 'scrypt', 'medium-of-excha... 84000000.000000 \n", + "27 ['stablecoin', 'asset-backed-stablecoin', 'bin... NaN \n", + "28 ['memes', 'ethereum-ecosystem', 'doggone-dogge... NaN \n", + "29 ['media', 'payments', 'tron-ecosystem'] NaN \n", + "\n", + " circulating_supply total_supply infinite_supply platform \\\n", + "0 19357968.000000 19357968.000000 False NaN \n", + "1 120402439.830906 120402439.830906 False NaN \n", + "2 81615536097.752090 85090638896.270859 False NaN \n", + "3 155863259.817313 155863259.817313 False NaN \n", + "4 30533726557.887390 30533726557.887390 False NaN \n", + "5 51750810378.000000 99988998998.000000 False NaN \n", + "6 34800090009.614998 35727842284.508003 False NaN \n", + "7 139117606383.705200 139117606383.705200 False NaN \n", + "8 9249469069.284929 10000000000.000000 False NaN \n", + "9 392894815.607193 539312704.887534 False NaN \n", + "10 1178075036.880687 1307553914.185867 False NaN \n", + "11 72799864.320805 84000000.000000 False NaN \n", + "12 6280952229.493376 6280952229.493376 False NaN \n", + "13 589543832993340.125000 589604810668664.375000 False NaN \n", + "14 90657026411.827164 90657037484.691605 False NaN \n", + "15 19357968.000000 19357968.000000 False NaN \n", + "16 120402439.830906 120402439.830906 False NaN \n", + "17 81615536097.752090 85090638896.270859 False NaN \n", + "18 155863259.817313 155863259.817313 False NaN \n", + "19 30533726557.887390 30533726557.887390 False NaN \n", + "20 51750810378.000000 99988998998.000000 False NaN \n", + "21 34800090009.614998 35727842284.508003 False NaN \n", + "22 139117606383.705200 139117606383.705200 False NaN \n", + "23 9249469069.284929 10000000000.000000 False NaN \n", + "24 392894815.607193 539312704.887534 False NaN \n", + "25 1178075036.880687 1307553914.185867 False NaN \n", + "26 72799864.320805 84000000.000000 False NaN \n", + "27 6280952229.493376 6280952229.493376 False NaN \n", + "28 589543832993340.125000 589604810668664.375000 False NaN \n", + "29 90657026411.827164 90657037484.691605 False NaN \n", + "\n", + " cmc_rank self_reported_circulating_supply self_reported_market_cap \\\n", + "0 1 NaN NaN \n", + "1 2 NaN NaN \n", + "2 3 NaN NaN \n", + "3 4 NaN NaN \n", + "4 5 NaN NaN \n", + "5 6 NaN NaN \n", + "6 7 NaN NaN \n", + "7 8 NaN NaN \n", + "8 9 NaN NaN \n", + "9 10 NaN NaN \n", + "10 11 NaN NaN \n", + "11 12 NaN NaN \n", + "12 13 NaN NaN \n", + "13 14 NaN NaN \n", + "14 15 71659659264.000000 4718953875.782639 \n", + "15 1 NaN NaN \n", + "16 2 NaN NaN \n", + "17 3 NaN NaN \n", + "18 4 NaN NaN \n", + "19 5 NaN NaN \n", + "20 6 NaN NaN \n", + "21 7 NaN NaN \n", + "22 8 NaN NaN \n", + "23 9 NaN NaN \n", + "24 10 NaN NaN \n", + "25 11 NaN NaN \n", + "26 12 NaN NaN \n", + "27 13 NaN NaN \n", + "28 14 NaN NaN \n", + "29 15 71659659264.000000 4718186921.576477 \n", + "\n", + " tvl_ratio last_updated quote.USD.price \\\n", + "0 NaN 2023-04-28T01:11:00.000Z 29506.796886 \n", + "1 NaN 2023-04-28T01:11:00.000Z 1911.070093 \n", + "2 NaN 2023-04-28T01:11:00.000Z 1.000388 \n", + "3 NaN 2023-04-28T01:11:00.000Z 328.413872 \n", + "4 NaN 2023-04-28T01:11:00.000Z 0.999997 \n", + "5 NaN 2023-04-28T01:11:00.000Z 0.466048 \n", + "6 NaN 2023-04-28T01:11:00.000Z 0.410192 \n", + "7 NaN 2023-04-28T01:11:00.000Z 0.080235 \n", + "8 NaN 2023-04-28T01:11:00.000Z 1.014176 \n", + "9 NaN 2023-04-28T01:11:00.000Z 22.584120 \n", + "10 NaN 2023-04-28T01:11:00.000Z 5.969939 \n", + "11 NaN 2023-04-28T01:11:00.000Z 89.676575 \n", + "12 NaN 2023-04-28T01:11:00.000Z 0.999875 \n", + "13 NaN 2023-04-28T01:11:00.000Z 0.000010 \n", + "14 NaN 2023-04-28T01:11:00.000Z 0.065852 \n", + "15 NaN 2023-04-28T01:12:00.000Z 29496.268213 \n", + "16 NaN 2023-04-28T01:12:00.000Z 1910.235857 \n", + "17 NaN 2023-04-28T01:12:00.000Z 1.000328 \n", + "18 NaN 2023-04-28T01:12:00.000Z 328.243036 \n", + "19 NaN 2023-04-28T01:12:00.000Z 0.999945 \n", + "20 NaN 2023-04-28T01:12:00.000Z 0.465941 \n", + "21 NaN 2023-04-28T01:12:00.000Z 0.410097 \n", + "22 NaN 2023-04-28T01:12:00.000Z 0.080211 \n", + "23 NaN 2023-04-28T01:12:00.000Z 1.013757 \n", + "24 NaN 2023-04-28T01:12:00.000Z 22.581118 \n", + "25 NaN 2023-04-28T01:12:00.000Z 5.966781 \n", + "26 NaN 2023-04-28T01:12:00.000Z 89.661656 \n", + "27 NaN 2023-04-28T01:12:00.000Z 1.000106 \n", + "28 NaN 2023-04-28T01:12:00.000Z 0.000010 \n", + "29 NaN 2023-04-28T01:12:00.000Z 0.065842 \n", + "\n", + " quote.USD.volume_24h quote.USD.volume_change_24h \\\n", + "0 25466308464.086521 -24.055200 \n", + "1 13044724063.895599 -15.473300 \n", + "2 33538159474.227360 -26.542600 \n", + "3 727210374.806210 -24.312500 \n", + "4 5171438693.055389 -26.878400 \n", + "5 1585765532.955254 -2.970400 \n", + "6 374702723.807436 -26.219100 \n", + "7 397595568.301315 -47.048500 \n", + "8 493114809.871684 -27.487900 \n", + "9 457125979.947695 -38.610200 \n", + "10 167830818.400800 -36.369200 \n", + "11 518575785.926220 -38.867200 \n", + "12 3416102706.394595 -21.053500 \n", + "13 112464201.518790 -45.243700 \n", + "14 183541144.464155 -32.047700 \n", + "15 25455688489.068325 -24.152500 \n", + "16 13042085754.487860 -15.551300 \n", + "17 33528787823.392529 -26.644500 \n", + "18 727160468.484402 -24.385300 \n", + "19 5170904432.284743 -26.945400 \n", + "20 1585098121.209140 -3.092600 \n", + "21 374672455.031408 -26.265500 \n", + "22 397655072.944111 -47.067200 \n", + "23 493011276.293557 -27.542600 \n", + "24 456869278.969472 -38.706100 \n", + "25 167748125.142033 -36.461900 \n", + "26 518560620.438799 -38.916600 \n", + "27 3414867576.745991 -21.127900 \n", + "28 112442496.794049 -45.300200 \n", + "29 183519075.382486 -32.099000 \n", + "\n", + " quote.USD.percent_change_1h quote.USD.percent_change_24h \\\n", + "0 0.058513 1.292921 \n", + "1 0.095254 -0.477470 \n", + "2 0.010438 0.034796 \n", + "3 -0.704347 -1.879310 \n", + "4 0.004218 0.014747 \n", + "5 -0.134230 -0.296868 \n", + "6 -0.108566 0.035448 \n", + "7 0.025566 0.170371 \n", + "8 0.111692 0.077871 \n", + "9 0.827657 2.872215 \n", + "10 -0.125949 -0.367636 \n", + "11 -0.110465 -0.430383 \n", + "12 -0.013367 -0.004625 \n", + "13 -0.088918 -0.501645 \n", + "14 0.075820 0.106616 \n", + "15 0.072494 1.233326 \n", + "16 0.093072 -0.517508 \n", + "17 0.005022 0.033409 \n", + "18 -0.693438 -1.973561 \n", + "19 0.002551 0.008675 \n", + "20 -0.137245 -0.327543 \n", + "21 -0.108008 -0.000194 \n", + "22 0.002069 0.120476 \n", + "23 0.092467 0.019251 \n", + "24 0.848464 2.838949 \n", + "25 -0.149649 -0.449677 \n", + "26 -0.106580 -0.454092 \n", + "27 0.018843 0.011703 \n", + "28 -0.073218 -0.533922 \n", + "29 0.072186 0.079625 \n", + "\n", + " quote.USD.percent_change_7d quote.USD.percent_change_30d \\\n", + "0 4.567623 8.100760 \n", + "1 -1.713539 7.477595 \n", + "2 0.027791 0.007119 \n", + "3 3.053771 4.654638 \n", + "4 -0.004301 0.009770 \n", + "5 -1.681885 -10.330474 \n", + "6 2.087348 11.637594 \n", + "7 -4.582037 8.790896 \n", + "8 -3.609515 -6.829236 \n", + "9 1.602596 9.526555 \n", + "10 -2.784598 -1.700566 \n", + "11 -0.776926 0.498966 \n", + "12 0.005804 -0.033183 \n", + "13 -3.407074 -1.980722 \n", + "14 0.679183 2.202890 \n", + "15 4.510477 7.917959 \n", + "16 -1.781945 7.268638 \n", + "17 0.020207 -0.003016 \n", + "18 2.993300 4.564344 \n", + "19 -0.023124 0.000106 \n", + "20 -1.707961 -10.370698 \n", + "21 2.059801 11.579574 \n", + "22 -4.618892 8.734357 \n", + "23 -3.654247 -6.882556 \n", + "24 1.561446 9.461885 \n", + "25 -2.841935 -1.769014 \n", + "26 -0.801534 0.465438 \n", + "27 0.028220 -0.013761 \n", + "28 -3.436574 -2.005502 \n", + "29 0.648364 2.168105 \n", + "\n", + " quote.USD.percent_change_60d quote.USD.percent_change_90d \\\n", + "0 25.728075 27.530662 \n", + "1 16.917645 19.346157 \n", + "2 0.029825 0.024456 \n", + "3 6.676706 6.352007 \n", + "4 0.006679 -0.001449 \n", + "5 23.494091 12.641648 \n", + "6 11.963655 3.432434 \n", + "7 -1.848901 -8.664337 \n", + "8 -20.080590 -11.909141 \n", + "9 -2.033064 -8.285655 \n", + "10 -10.341661 -9.878868 \n", + "11 -5.318614 0.924612 \n", + "12 -0.035680 -0.043221 \n", + "13 -19.467642 -12.824911 \n", + "14 -5.095414 3.350478 \n", + "15 25.678910 27.471945 \n", + "16 16.862477 19.284099 \n", + "17 0.023343 0.017038 \n", + "18 6.614302 6.297442 \n", + "19 -0.000366 -0.014868 \n", + "20 23.465632 12.628803 \n", + "21 11.936116 3.414855 \n", + "22 -1.889375 -8.693776 \n", + "23 -20.116167 -11.958570 \n", + "24 -2.052123 -8.303404 \n", + "25 -10.393987 -9.913495 \n", + "26 -5.341446 0.909994 \n", + "27 -0.014280 0.040230 \n", + "28 -19.472010 -12.852114 \n", + "29 -5.107525 3.347827 \n", + "\n", + " quote.USD.market_cap quote.USD.market_cap_dominance \\\n", + "0 571191629911.311646 47.130300 \n", + "1 230097501828.256409 18.981700 \n", + "2 81647195865.730621 6.734100 \n", + "3 51187656656.407417 4.222700 \n", + "4 30533622041.733067 2.518300 \n", + "5 24118362162.314011 1.988600 \n", + "6 14274701988.937868 1.177200 \n", + "7 11162082164.560816 0.920500 \n", + "8 9380585460.931765 0.774000 \n", + "9 8873183718.673992 0.732100 \n", + "10 7033036295.994258 0.580300 \n", + "11 6528442491.540478 0.538400 \n", + "12 6280169358.290792 0.517900 \n", + "13 6059344356.270708 0.500000 \n", + "14 5969974327.912272 0.492600 \n", + "15 570987816185.553833 47.113500 \n", + "16 229997057836.379639 18.973400 \n", + "17 81642273252.154129 6.733600 \n", + "18 51161029643.838425 4.220500 \n", + "19 30532055016.351799 2.518200 \n", + "20 24112808046.623920 1.989600 \n", + "21 14271423602.625547 1.176900 \n", + "22 11158752526.080936 0.920200 \n", + "23 9376717553.489817 0.773700 \n", + "24 8872004092.269577 0.732000 \n", + "25 7029315193.490407 0.580000 \n", + "26 6527356425.834283 0.538300 \n", + "27 6281618521.699013 0.518000 \n", + "28 6058689364.052512 0.499900 \n", + "29 5969004049.956183 0.492500 \n", + "\n", + " quote.USD.fully_diluted_market_cap quote.USD.tvl \\\n", + "0 619642734616.439941 NaN \n", + "1 230097501828.260010 NaN \n", + "2 85123646703.529999 NaN \n", + "3 51187656656.410004 NaN \n", + "4 30533622041.730000 NaN \n", + "5 46604800941.570000 NaN \n", + "6 18458618622.099998 NaN \n", + "7 11162082164.559999 NaN \n", + "8 10141755586.900000 NaN \n", + "9 12179902921.059999 NaN \n", + "10 7806017316.000000 NaN \n", + "11 7532832298.600000 NaN \n", + "12 6280169358.290000 NaN \n", + "13 6059971086.150000 NaN \n", + "14 5969975057.090000 NaN \n", + "15 619421632471.790039 NaN \n", + "16 229997057836.380005 NaN \n", + "17 85118514490.300003 NaN \n", + "18 51161029643.839996 NaN \n", + "19 30532055016.349998 NaN \n", + "20 46594068518.919998 NaN \n", + "21 18454379340.419998 NaN \n", + "22 11158752526.080000 NaN \n", + "23 10137573825.320000 NaN \n", + "24 12178283689.950001 NaN \n", + "25 7801887237.700000 NaN \n", + "26 7531579143.530000 NaN \n", + "27 6281618521.700000 NaN \n", + "28 6059316026.180000 NaN \n", + "29 5969004779.010000 NaN \n", + "\n", + " quote.USD.last_updated platform.id platform.name platform.symbol \\\n", + "0 2023-04-28T01:11:00.000Z NaN NaN NaN \n", + "1 2023-04-28T01:11:00.000Z NaN NaN NaN \n", + "2 2023-04-28T01:11:00.000Z 1027.000000 Ethereum ETH \n", + "3 2023-04-28T01:11:00.000Z NaN NaN NaN \n", + "4 2023-04-28T01:11:00.000Z 1027.000000 Ethereum ETH \n", + "5 2023-04-28T01:11:00.000Z NaN NaN NaN \n", + "6 2023-04-28T01:11:00.000Z NaN NaN NaN \n", + "7 2023-04-28T01:11:00.000Z NaN NaN NaN \n", + "8 2023-04-28T01:11:00.000Z NaN NaN NaN \n", + "9 2023-04-28T01:11:00.000Z NaN NaN NaN \n", + "10 2023-04-28T01:11:00.000Z NaN NaN NaN \n", + "11 2023-04-28T01:11:00.000Z NaN NaN NaN \n", + "12 2023-04-28T01:11:00.000Z 1839.000000 BNB BNB \n", + "13 2023-04-28T01:11:00.000Z 1027.000000 Ethereum ETH \n", + "14 2023-04-28T01:11:00.000Z NaN NaN NaN \n", + "15 2023-04-28T01:12:00.000Z NaN NaN NaN \n", + "16 2023-04-28T01:12:00.000Z NaN NaN NaN \n", + "17 2023-04-28T01:12:00.000Z 1027.000000 Ethereum ETH \n", + "18 2023-04-28T01:12:00.000Z NaN NaN NaN \n", + "19 2023-04-28T01:12:00.000Z 1027.000000 Ethereum ETH \n", + "20 2023-04-28T01:12:00.000Z NaN NaN NaN \n", + "21 2023-04-28T01:12:00.000Z NaN NaN NaN \n", + "22 2023-04-28T01:12:00.000Z NaN NaN NaN \n", + "23 2023-04-28T01:12:00.000Z NaN NaN NaN \n", + "24 2023-04-28T01:12:00.000Z NaN NaN NaN \n", + "25 2023-04-28T01:12:00.000Z NaN NaN NaN \n", + "26 2023-04-28T01:12:00.000Z NaN NaN NaN \n", + "27 2023-04-28T01:12:00.000Z 1839.000000 BNB BNB \n", + "28 2023-04-28T01:12:00.000Z 1027.000000 Ethereum ETH \n", + "29 2023-04-28T01:12:00.000Z NaN NaN NaN \n", + "\n", + " platform.slug platform.token_address \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 ethereum 0xdac17f958d2ee523a2206206994597c13d831ec7 \n", + "3 NaN NaN \n", + "4 ethereum 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 \n", + "5 NaN NaN \n", + "6 NaN NaN \n", + "7 NaN NaN \n", + "8 NaN NaN \n", + "9 NaN NaN \n", + "10 NaN NaN \n", + "11 NaN NaN \n", + "12 bnb BUSD-BD1 \n", + "13 ethereum 0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce \n", + "14 NaN NaN \n", + "15 NaN NaN \n", + "16 NaN NaN \n", + "17 ethereum 0xdac17f958d2ee523a2206206994597c13d831ec7 \n", + "18 NaN NaN \n", + "19 ethereum 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 \n", + "20 NaN NaN \n", + "21 NaN NaN \n", + "22 NaN NaN \n", + "23 NaN NaN \n", + "24 NaN NaN \n", + "25 NaN NaN \n", + "26 NaN NaN \n", + "27 bnb BUSD-BD1 \n", + "28 ethereum 0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce \n", + "29 NaN NaN \n", + "\n", + " timestamp \n", + "0 2023-04-28 01:12:31.868791+00:00 \n", + "1 2023-04-28 01:12:31.868791+00:00 \n", + "2 2023-04-28 01:12:31.868791+00:00 \n", + "3 2023-04-28 01:12:31.868791+00:00 \n", + "4 2023-04-28 01:12:31.868791+00:00 \n", + "5 2023-04-28 01:12:31.868791+00:00 \n", + "6 2023-04-28 01:12:31.868791+00:00 \n", + "7 2023-04-28 01:12:31.868791+00:00 \n", + "8 2023-04-28 01:12:31.868791+00:00 \n", + "9 2023-04-28 01:12:31.868791+00:00 \n", + "10 2023-04-28 01:12:31.868791+00:00 \n", + "11 2023-04-28 01:12:31.868791+00:00 \n", + "12 2023-04-28 01:12:31.868791+00:00 \n", + "13 2023-04-28 01:12:31.868791+00:00 \n", + "14 2023-04-28 01:12:31.868791+00:00 \n", + "15 2023-04-28 01:13:32.382137+00:00 \n", + "16 2023-04-28 01:13:32.382137+00:00 \n", + "17 2023-04-28 01:13:32.382137+00:00 \n", + "18 2023-04-28 01:13:32.382137+00:00 \n", + "19 2023-04-28 01:13:32.382137+00:00 \n", + "20 2023-04-28 01:13:32.382137+00:00 \n", + "21 2023-04-28 01:13:32.382137+00:00 \n", + "22 2023-04-28 01:13:32.382137+00:00 \n", + "23 2023-04-28 01:13:32.382137+00:00 \n", + "24 2023-04-28 01:13:32.382137+00:00 \n", + "25 2023-04-28 01:13:32.382137+00:00 \n", + "26 2023-04-28 01:13:32.382137+00:00 \n", + "27 2023-04-28 01:13:32.382137+00:00 \n", + "28 2023-04-28 01:13:32.382137+00:00 \n", + "29 2023-04-28 01:13:32.382137+00:00 " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_csv" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "5b0e9bc4", + "metadata": {}, + "outputs": [], + "source": [ + "# Remove first column that is unnecessary and like a secondindex column.\n", + "# Remove all the columns that begin with the word \"platform\"\n", + "# Remove additional unnecessary columns in different, more streamlined ways\n", + "\n", + "df_csv = df_csv.iloc[: , 1:]\n", + "df_csv = df_csv[df_csv.columns.drop(list(df_csv.filter(regex='platform')))]\n", + "df_csv = df_csv.drop(columns=['symbol', 'slug', 'num_market_pairs', 'tags', 'quote.USD.market_cap', 'quote.USD.market_cap_dominance', 'quote.USD.fully_diluted_market_cap', 'quote.USD.tvl' ])" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "a79c4c04", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idnamedate_addedmax_supplycirculating_supplytotal_supplyinfinite_supplycmc_rankself_reported_circulating_supplyself_reported_market_captvl_ratiolast_updatedquote.USD.pricequote.USD.volume_24hquote.USD.volume_change_24hquote.USD.percent_change_1hquote.USD.percent_change_24hquote.USD.percent_change_7dquote.USD.percent_change_30dquote.USD.percent_change_60dquote.USD.percent_change_90dquote.USD.last_updatedtimestamp
01Bitcoin2010-07-13T00:00:00.000Z21000000.00000019357968.00000019357968.000000False1NaNNaNNaN2023-04-28T01:11:00.000Z29506.79688625466308464.086521-24.0552000.0585131.2929214.5676238.10076025.72807527.5306622023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
11027Ethereum2015-08-07T00:00:00.000ZNaN120402439.830906120402439.830906False2NaNNaNNaN2023-04-28T01:11:00.000Z1911.07009313044724063.895599-15.4733000.095254-0.477470-1.7135397.47759516.91764519.3461572023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
2825Tether2015-02-25T00:00:00.000ZNaN81615536097.75209085090638896.270859False3NaNNaNNaN2023-04-28T01:11:00.000Z1.00038833538159474.227360-26.5426000.0104380.0347960.0277910.0071190.0298250.0244562023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
31839BNB2017-07-25T00:00:00.000ZNaN155863259.817313155863259.817313False4NaNNaNNaN2023-04-28T01:11:00.000Z328.413872727210374.806210-24.312500-0.704347-1.8793103.0537714.6546386.6767066.3520072023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
43408USD Coin2018-10-08T00:00:00.000ZNaN30533726557.88739030533726557.887390False5NaNNaNNaN2023-04-28T01:11:00.000Z0.9999975171438693.055389-26.8784000.0042180.014747-0.0043010.0097700.006679-0.0014492023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
552XRP2013-08-04T00:00:00.000Z100000000000.00000051750810378.00000099988998998.000000False6NaNNaNNaN2023-04-28T01:11:00.000Z0.4660481585765532.955254-2.970400-0.134230-0.296868-1.681885-10.33047423.49409112.6416482023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
62010Cardano2017-10-01T00:00:00.000Z45000000000.00000034800090009.61499835727842284.508003False7NaNNaNNaN2023-04-28T01:11:00.000Z0.410192374702723.807436-26.219100-0.1085660.0354482.08734811.63759411.9636553.4324342023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
774Dogecoin2013-12-15T00:00:00.000ZNaN139117606383.705200139117606383.705200False8NaNNaNNaN2023-04-28T01:11:00.000Z0.080235397595568.301315-47.0485000.0255660.170371-4.5820378.790896-1.848901-8.6643372023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
83890Polygon2019-04-28T00:00:00.000Z10000000000.0000009249469069.28492910000000000.000000False9NaNNaNNaN2023-04-28T01:11:00.000Z1.014176493114809.871684-27.4879000.1116920.077871-3.609515-6.829236-20.080590-11.9091412023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
95426Solana2020-04-10T00:00:00.000ZNaN392894815.607193539312704.887534False10NaNNaNNaN2023-04-28T01:11:00.000Z22.584120457125979.947695-38.6102000.8276572.8722151.6025969.526555-2.033064-8.2856552023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
106636Polkadot2020-08-19T00:00:00.000ZNaN1178075036.8806871307553914.185867False11NaNNaNNaN2023-04-28T01:11:00.000Z5.969939167830818.400800-36.369200-0.125949-0.367636-2.784598-1.700566-10.341661-9.8788682023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
112Litecoin2013-04-28T00:00:00.000Z84000000.00000072799864.32080584000000.000000False12NaNNaNNaN2023-04-28T01:11:00.000Z89.676575518575785.926220-38.867200-0.110465-0.430383-0.7769260.498966-5.3186140.9246122023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
124687Binance USD2019-09-20T00:00:00.000ZNaN6280952229.4933766280952229.493376False13NaNNaNNaN2023-04-28T01:11:00.000Z0.9998753416102706.394595-21.053500-0.013367-0.0046250.005804-0.033183-0.035680-0.0432212023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
135994Shiba Inu2020-08-01T00:00:00.000ZNaN589543832993340.125000589604810668664.375000False14NaNNaNNaN2023-04-28T01:11:00.000Z0.000010112464201.518790-45.243700-0.088918-0.501645-3.407074-1.980722-19.467642-12.8249112023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
141958TRON2017-09-13T00:00:00.000ZNaN90657026411.82716490657037484.691605False1571659659264.0000004718953875.782639NaN2023-04-28T01:11:00.000Z0.065852183541144.464155-32.0477000.0758200.1066160.6791832.202890-5.0954143.3504782023-04-28T01:11:00.000Z2023-04-28 01:12:31.868791+00:00
151Bitcoin2010-07-13T00:00:00.000Z21000000.00000019357968.00000019357968.000000False1NaNNaNNaN2023-04-28T01:12:00.000Z29496.26821325455688489.068325-24.1525000.0724941.2333264.5104777.91795925.67891027.4719452023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
161027Ethereum2015-08-07T00:00:00.000ZNaN120402439.830906120402439.830906False2NaNNaNNaN2023-04-28T01:12:00.000Z1910.23585713042085754.487860-15.5513000.093072-0.517508-1.7819457.26863816.86247719.2840992023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
17825Tether2015-02-25T00:00:00.000ZNaN81615536097.75209085090638896.270859False3NaNNaNNaN2023-04-28T01:12:00.000Z1.00032833528787823.392529-26.6445000.0050220.0334090.020207-0.0030160.0233430.0170382023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
181839BNB2017-07-25T00:00:00.000ZNaN155863259.817313155863259.817313False4NaNNaNNaN2023-04-28T01:12:00.000Z328.243036727160468.484402-24.385300-0.693438-1.9735612.9933004.5643446.6143026.2974422023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
193408USD Coin2018-10-08T00:00:00.000ZNaN30533726557.88739030533726557.887390False5NaNNaNNaN2023-04-28T01:12:00.000Z0.9999455170904432.284743-26.9454000.0025510.008675-0.0231240.000106-0.000366-0.0148682023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
2052XRP2013-08-04T00:00:00.000Z100000000000.00000051750810378.00000099988998998.000000False6NaNNaNNaN2023-04-28T01:12:00.000Z0.4659411585098121.209140-3.092600-0.137245-0.327543-1.707961-10.37069823.46563212.6288032023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
212010Cardano2017-10-01T00:00:00.000Z45000000000.00000034800090009.61499835727842284.508003False7NaNNaNNaN2023-04-28T01:12:00.000Z0.410097374672455.031408-26.265500-0.108008-0.0001942.05980111.57957411.9361163.4148552023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
2274Dogecoin2013-12-15T00:00:00.000ZNaN139117606383.705200139117606383.705200False8NaNNaNNaN2023-04-28T01:12:00.000Z0.080211397655072.944111-47.0672000.0020690.120476-4.6188928.734357-1.889375-8.6937762023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
233890Polygon2019-04-28T00:00:00.000Z10000000000.0000009249469069.28492910000000000.000000False9NaNNaNNaN2023-04-28T01:12:00.000Z1.013757493011276.293557-27.5426000.0924670.019251-3.654247-6.882556-20.116167-11.9585702023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
245426Solana2020-04-10T00:00:00.000ZNaN392894815.607193539312704.887534False10NaNNaNNaN2023-04-28T01:12:00.000Z22.581118456869278.969472-38.7061000.8484642.8389491.5614469.461885-2.052123-8.3034042023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
256636Polkadot2020-08-19T00:00:00.000ZNaN1178075036.8806871307553914.185867False11NaNNaNNaN2023-04-28T01:12:00.000Z5.966781167748125.142033-36.461900-0.149649-0.449677-2.841935-1.769014-10.393987-9.9134952023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
262Litecoin2013-04-28T00:00:00.000Z84000000.00000072799864.32080584000000.000000False12NaNNaNNaN2023-04-28T01:12:00.000Z89.661656518560620.438799-38.916600-0.106580-0.454092-0.8015340.465438-5.3414460.9099942023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
274687Binance USD2019-09-20T00:00:00.000ZNaN6280952229.4933766280952229.493376False13NaNNaNNaN2023-04-28T01:12:00.000Z1.0001063414867576.745991-21.1279000.0188430.0117030.028220-0.013761-0.0142800.0402302023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
285994Shiba Inu2020-08-01T00:00:00.000ZNaN589543832993340.125000589604810668664.375000False14NaNNaNNaN2023-04-28T01:12:00.000Z0.000010112442496.794049-45.300200-0.073218-0.533922-3.436574-2.005502-19.472010-12.8521142023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
291958TRON2017-09-13T00:00:00.000ZNaN90657026411.82716490657037484.691605False1571659659264.0000004718186921.576477NaN2023-04-28T01:12:00.000Z0.065842183519075.382486-32.0990000.0721860.0796250.6483642.168105-5.1075253.3478272023-04-28T01:12:00.000Z2023-04-28 01:13:32.382137+00:00
\n", + "
" + ], + "text/plain": [ + " id name date_added max_supply \\\n", + "0 1 Bitcoin 2010-07-13T00:00:00.000Z 21000000.000000 \n", + "1 1027 Ethereum 2015-08-07T00:00:00.000Z NaN \n", + "2 825 Tether 2015-02-25T00:00:00.000Z NaN \n", + "3 1839 BNB 2017-07-25T00:00:00.000Z NaN \n", + "4 3408 USD Coin 2018-10-08T00:00:00.000Z NaN \n", + "5 52 XRP 2013-08-04T00:00:00.000Z 100000000000.000000 \n", + "6 2010 Cardano 2017-10-01T00:00:00.000Z 45000000000.000000 \n", + "7 74 Dogecoin 2013-12-15T00:00:00.000Z NaN \n", + "8 3890 Polygon 2019-04-28T00:00:00.000Z 10000000000.000000 \n", + "9 5426 Solana 2020-04-10T00:00:00.000Z NaN \n", + "10 6636 Polkadot 2020-08-19T00:00:00.000Z NaN \n", + "11 2 Litecoin 2013-04-28T00:00:00.000Z 84000000.000000 \n", + "12 4687 Binance USD 2019-09-20T00:00:00.000Z NaN \n", + "13 5994 Shiba Inu 2020-08-01T00:00:00.000Z NaN \n", + "14 1958 TRON 2017-09-13T00:00:00.000Z NaN \n", + "15 1 Bitcoin 2010-07-13T00:00:00.000Z 21000000.000000 \n", + "16 1027 Ethereum 2015-08-07T00:00:00.000Z NaN \n", + "17 825 Tether 2015-02-25T00:00:00.000Z NaN \n", + "18 1839 BNB 2017-07-25T00:00:00.000Z NaN \n", + "19 3408 USD Coin 2018-10-08T00:00:00.000Z NaN \n", + "20 52 XRP 2013-08-04T00:00:00.000Z 100000000000.000000 \n", + "21 2010 Cardano 2017-10-01T00:00:00.000Z 45000000000.000000 \n", + "22 74 Dogecoin 2013-12-15T00:00:00.000Z NaN \n", + "23 3890 Polygon 2019-04-28T00:00:00.000Z 10000000000.000000 \n", + "24 5426 Solana 2020-04-10T00:00:00.000Z NaN \n", + "25 6636 Polkadot 2020-08-19T00:00:00.000Z NaN \n", + "26 2 Litecoin 2013-04-28T00:00:00.000Z 84000000.000000 \n", + "27 4687 Binance USD 2019-09-20T00:00:00.000Z NaN \n", + "28 5994 Shiba Inu 2020-08-01T00:00:00.000Z NaN \n", + "29 1958 TRON 2017-09-13T00:00:00.000Z NaN \n", + "\n", + " circulating_supply total_supply infinite_supply cmc_rank \\\n", + "0 19357968.000000 19357968.000000 False 1 \n", + "1 120402439.830906 120402439.830906 False 2 \n", + "2 81615536097.752090 85090638896.270859 False 3 \n", + "3 155863259.817313 155863259.817313 False 4 \n", + "4 30533726557.887390 30533726557.887390 False 5 \n", + "5 51750810378.000000 99988998998.000000 False 6 \n", + "6 34800090009.614998 35727842284.508003 False 7 \n", + "7 139117606383.705200 139117606383.705200 False 8 \n", + "8 9249469069.284929 10000000000.000000 False 9 \n", + "9 392894815.607193 539312704.887534 False 10 \n", + "10 1178075036.880687 1307553914.185867 False 11 \n", + "11 72799864.320805 84000000.000000 False 12 \n", + "12 6280952229.493376 6280952229.493376 False 13 \n", + "13 589543832993340.125000 589604810668664.375000 False 14 \n", + "14 90657026411.827164 90657037484.691605 False 15 \n", + "15 19357968.000000 19357968.000000 False 1 \n", + "16 120402439.830906 120402439.830906 False 2 \n", + "17 81615536097.752090 85090638896.270859 False 3 \n", + "18 155863259.817313 155863259.817313 False 4 \n", + "19 30533726557.887390 30533726557.887390 False 5 \n", + "20 51750810378.000000 99988998998.000000 False 6 \n", + "21 34800090009.614998 35727842284.508003 False 7 \n", + "22 139117606383.705200 139117606383.705200 False 8 \n", + "23 9249469069.284929 10000000000.000000 False 9 \n", + "24 392894815.607193 539312704.887534 False 10 \n", + "25 1178075036.880687 1307553914.185867 False 11 \n", + "26 72799864.320805 84000000.000000 False 12 \n", + "27 6280952229.493376 6280952229.493376 False 13 \n", + "28 589543832993340.125000 589604810668664.375000 False 14 \n", + "29 90657026411.827164 90657037484.691605 False 15 \n", + "\n", + " self_reported_circulating_supply self_reported_market_cap tvl_ratio \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "5 NaN NaN NaN \n", + "6 NaN NaN NaN \n", + "7 NaN NaN NaN \n", + "8 NaN NaN NaN \n", + "9 NaN NaN NaN \n", + "10 NaN NaN NaN \n", + "11 NaN NaN NaN \n", + "12 NaN NaN NaN \n", + "13 NaN NaN NaN \n", + "14 71659659264.000000 4718953875.782639 NaN \n", + "15 NaN NaN NaN \n", + "16 NaN NaN NaN \n", + "17 NaN NaN NaN \n", + "18 NaN NaN NaN \n", + "19 NaN NaN NaN \n", + "20 NaN NaN NaN \n", + "21 NaN NaN NaN \n", + "22 NaN NaN NaN \n", + "23 NaN NaN NaN \n", + "24 NaN NaN NaN \n", + "25 NaN NaN NaN \n", + "26 NaN NaN NaN \n", + "27 NaN NaN NaN \n", + "28 NaN NaN NaN \n", + "29 71659659264.000000 4718186921.576477 NaN \n", + "\n", + " last_updated quote.USD.price quote.USD.volume_24h \\\n", + "0 2023-04-28T01:11:00.000Z 29506.796886 25466308464.086521 \n", + "1 2023-04-28T01:11:00.000Z 1911.070093 13044724063.895599 \n", + "2 2023-04-28T01:11:00.000Z 1.000388 33538159474.227360 \n", + "3 2023-04-28T01:11:00.000Z 328.413872 727210374.806210 \n", + "4 2023-04-28T01:11:00.000Z 0.999997 5171438693.055389 \n", + "5 2023-04-28T01:11:00.000Z 0.466048 1585765532.955254 \n", + "6 2023-04-28T01:11:00.000Z 0.410192 374702723.807436 \n", + "7 2023-04-28T01:11:00.000Z 0.080235 397595568.301315 \n", + "8 2023-04-28T01:11:00.000Z 1.014176 493114809.871684 \n", + "9 2023-04-28T01:11:00.000Z 22.584120 457125979.947695 \n", + "10 2023-04-28T01:11:00.000Z 5.969939 167830818.400800 \n", + "11 2023-04-28T01:11:00.000Z 89.676575 518575785.926220 \n", + "12 2023-04-28T01:11:00.000Z 0.999875 3416102706.394595 \n", + "13 2023-04-28T01:11:00.000Z 0.000010 112464201.518790 \n", + "14 2023-04-28T01:11:00.000Z 0.065852 183541144.464155 \n", + "15 2023-04-28T01:12:00.000Z 29496.268213 25455688489.068325 \n", + "16 2023-04-28T01:12:00.000Z 1910.235857 13042085754.487860 \n", + "17 2023-04-28T01:12:00.000Z 1.000328 33528787823.392529 \n", + "18 2023-04-28T01:12:00.000Z 328.243036 727160468.484402 \n", + "19 2023-04-28T01:12:00.000Z 0.999945 5170904432.284743 \n", + "20 2023-04-28T01:12:00.000Z 0.465941 1585098121.209140 \n", + "21 2023-04-28T01:12:00.000Z 0.410097 374672455.031408 \n", + "22 2023-04-28T01:12:00.000Z 0.080211 397655072.944111 \n", + "23 2023-04-28T01:12:00.000Z 1.013757 493011276.293557 \n", + "24 2023-04-28T01:12:00.000Z 22.581118 456869278.969472 \n", + "25 2023-04-28T01:12:00.000Z 5.966781 167748125.142033 \n", + "26 2023-04-28T01:12:00.000Z 89.661656 518560620.438799 \n", + "27 2023-04-28T01:12:00.000Z 1.000106 3414867576.745991 \n", + "28 2023-04-28T01:12:00.000Z 0.000010 112442496.794049 \n", + "29 2023-04-28T01:12:00.000Z 0.065842 183519075.382486 \n", + "\n", + " quote.USD.volume_change_24h quote.USD.percent_change_1h \\\n", + "0 -24.055200 0.058513 \n", + "1 -15.473300 0.095254 \n", + "2 -26.542600 0.010438 \n", + "3 -24.312500 -0.704347 \n", + "4 -26.878400 0.004218 \n", + "5 -2.970400 -0.134230 \n", + "6 -26.219100 -0.108566 \n", + "7 -47.048500 0.025566 \n", + "8 -27.487900 0.111692 \n", + "9 -38.610200 0.827657 \n", + "10 -36.369200 -0.125949 \n", + "11 -38.867200 -0.110465 \n", + "12 -21.053500 -0.013367 \n", + "13 -45.243700 -0.088918 \n", + "14 -32.047700 0.075820 \n", + "15 -24.152500 0.072494 \n", + "16 -15.551300 0.093072 \n", + "17 -26.644500 0.005022 \n", + "18 -24.385300 -0.693438 \n", + "19 -26.945400 0.002551 \n", + "20 -3.092600 -0.137245 \n", + "21 -26.265500 -0.108008 \n", + "22 -47.067200 0.002069 \n", + "23 -27.542600 0.092467 \n", + "24 -38.706100 0.848464 \n", + "25 -36.461900 -0.149649 \n", + "26 -38.916600 -0.106580 \n", + "27 -21.127900 0.018843 \n", + "28 -45.300200 -0.073218 \n", + "29 -32.099000 0.072186 \n", + "\n", + " quote.USD.percent_change_24h quote.USD.percent_change_7d \\\n", + "0 1.292921 4.567623 \n", + "1 -0.477470 -1.713539 \n", + "2 0.034796 0.027791 \n", + "3 -1.879310 3.053771 \n", + "4 0.014747 -0.004301 \n", + "5 -0.296868 -1.681885 \n", + "6 0.035448 2.087348 \n", + "7 0.170371 -4.582037 \n", + "8 0.077871 -3.609515 \n", + "9 2.872215 1.602596 \n", + "10 -0.367636 -2.784598 \n", + "11 -0.430383 -0.776926 \n", + "12 -0.004625 0.005804 \n", + "13 -0.501645 -3.407074 \n", + "14 0.106616 0.679183 \n", + "15 1.233326 4.510477 \n", + "16 -0.517508 -1.781945 \n", + "17 0.033409 0.020207 \n", + "18 -1.973561 2.993300 \n", + "19 0.008675 -0.023124 \n", + "20 -0.327543 -1.707961 \n", + "21 -0.000194 2.059801 \n", + "22 0.120476 -4.618892 \n", + "23 0.019251 -3.654247 \n", + "24 2.838949 1.561446 \n", + "25 -0.449677 -2.841935 \n", + "26 -0.454092 -0.801534 \n", + "27 0.011703 0.028220 \n", + "28 -0.533922 -3.436574 \n", + "29 0.079625 0.648364 \n", + "\n", + " quote.USD.percent_change_30d quote.USD.percent_change_60d \\\n", + "0 8.100760 25.728075 \n", + "1 7.477595 16.917645 \n", + "2 0.007119 0.029825 \n", + "3 4.654638 6.676706 \n", + "4 0.009770 0.006679 \n", + "5 -10.330474 23.494091 \n", + "6 11.637594 11.963655 \n", + "7 8.790896 -1.848901 \n", + "8 -6.829236 -20.080590 \n", + "9 9.526555 -2.033064 \n", + "10 -1.700566 -10.341661 \n", + "11 0.498966 -5.318614 \n", + "12 -0.033183 -0.035680 \n", + "13 -1.980722 -19.467642 \n", + "14 2.202890 -5.095414 \n", + "15 7.917959 25.678910 \n", + "16 7.268638 16.862477 \n", + "17 -0.003016 0.023343 \n", + "18 4.564344 6.614302 \n", + "19 0.000106 -0.000366 \n", + "20 -10.370698 23.465632 \n", + "21 11.579574 11.936116 \n", + "22 8.734357 -1.889375 \n", + "23 -6.882556 -20.116167 \n", + "24 9.461885 -2.052123 \n", + "25 -1.769014 -10.393987 \n", + "26 0.465438 -5.341446 \n", + "27 -0.013761 -0.014280 \n", + "28 -2.005502 -19.472010 \n", + "29 2.168105 -5.107525 \n", + "\n", + " quote.USD.percent_change_90d quote.USD.last_updated \\\n", + "0 27.530662 2023-04-28T01:11:00.000Z \n", + "1 19.346157 2023-04-28T01:11:00.000Z \n", + "2 0.024456 2023-04-28T01:11:00.000Z \n", + "3 6.352007 2023-04-28T01:11:00.000Z \n", + "4 -0.001449 2023-04-28T01:11:00.000Z \n", + "5 12.641648 2023-04-28T01:11:00.000Z \n", + "6 3.432434 2023-04-28T01:11:00.000Z \n", + "7 -8.664337 2023-04-28T01:11:00.000Z \n", + "8 -11.909141 2023-04-28T01:11:00.000Z \n", + "9 -8.285655 2023-04-28T01:11:00.000Z \n", + "10 -9.878868 2023-04-28T01:11:00.000Z \n", + "11 0.924612 2023-04-28T01:11:00.000Z \n", + "12 -0.043221 2023-04-28T01:11:00.000Z \n", + "13 -12.824911 2023-04-28T01:11:00.000Z \n", + "14 3.350478 2023-04-28T01:11:00.000Z \n", + "15 27.471945 2023-04-28T01:12:00.000Z \n", + "16 19.284099 2023-04-28T01:12:00.000Z \n", + "17 0.017038 2023-04-28T01:12:00.000Z \n", + "18 6.297442 2023-04-28T01:12:00.000Z \n", + "19 -0.014868 2023-04-28T01:12:00.000Z \n", + "20 12.628803 2023-04-28T01:12:00.000Z \n", + "21 3.414855 2023-04-28T01:12:00.000Z \n", + "22 -8.693776 2023-04-28T01:12:00.000Z \n", + "23 -11.958570 2023-04-28T01:12:00.000Z \n", + "24 -8.303404 2023-04-28T01:12:00.000Z \n", + "25 -9.913495 2023-04-28T01:12:00.000Z \n", + "26 0.909994 2023-04-28T01:12:00.000Z \n", + "27 0.040230 2023-04-28T01:12:00.000Z \n", + "28 -12.852114 2023-04-28T01:12:00.000Z \n", + "29 3.347827 2023-04-28T01:12:00.000Z \n", + "\n", + " timestamp \n", + "0 2023-04-28 01:12:31.868791+00:00 \n", + "1 2023-04-28 01:12:31.868791+00:00 \n", + "2 2023-04-28 01:12:31.868791+00:00 \n", + "3 2023-04-28 01:12:31.868791+00:00 \n", + "4 2023-04-28 01:12:31.868791+00:00 \n", + "5 2023-04-28 01:12:31.868791+00:00 \n", + "6 2023-04-28 01:12:31.868791+00:00 \n", + "7 2023-04-28 01:12:31.868791+00:00 \n", + "8 2023-04-28 01:12:31.868791+00:00 \n", + "9 2023-04-28 01:12:31.868791+00:00 \n", + "10 2023-04-28 01:12:31.868791+00:00 \n", + "11 2023-04-28 01:12:31.868791+00:00 \n", + "12 2023-04-28 01:12:31.868791+00:00 \n", + "13 2023-04-28 01:12:31.868791+00:00 \n", + "14 2023-04-28 01:12:31.868791+00:00 \n", + "15 2023-04-28 01:13:32.382137+00:00 \n", + "16 2023-04-28 01:13:32.382137+00:00 \n", + "17 2023-04-28 01:13:32.382137+00:00 \n", + "18 2023-04-28 01:13:32.382137+00:00 \n", + "19 2023-04-28 01:13:32.382137+00:00 \n", + "20 2023-04-28 01:13:32.382137+00:00 \n", + "21 2023-04-28 01:13:32.382137+00:00 \n", + "22 2023-04-28 01:13:32.382137+00:00 \n", + "23 2023-04-28 01:13:32.382137+00:00 \n", + "24 2023-04-28 01:13:32.382137+00:00 \n", + "25 2023-04-28 01:13:32.382137+00:00 \n", + "26 2023-04-28 01:13:32.382137+00:00 \n", + "27 2023-04-28 01:13:32.382137+00:00 \n", + "28 2023-04-28 01:13:32.382137+00:00 \n", + "29 2023-04-28 01:13:32.382137+00:00 " + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_csv" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "8fb0a321", + "metadata": {}, + "outputs": [], + "source": [ + "# Using one set of data, one API call. Let's get a feel for the marketshare of\n", + "# each, and also get a taste of doing a data visualization with the data.\n", + "\n", + "df.set_index('name', inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "d7c86f54", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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lbBYLACAm266CevWrcOyZcvQ3t6O5557DuvXr0dJSUnP2Js3b8by5ct7BaBf/epXmDlz5mD8c4mIBgUDEBERUYDauXMntm/f3tO1AQCPxwOHw4GOjg4YjcYLXpuWltYTfgAgISEBNTU1AIADBw7A4XCcE2ycTidGjhzZ63NjxozxxT+FiChgMAAREREFKEmS8Mtf/hJXX331Obfp9fqLXqvRaHr9XRAESJLUMy4AvPvuu0hKSup1P51O1+vvJpPJ67qJiAIZAxAREVGAGjVqFA4fPoysrKwL3kej0cDj8Xg1bn5+PnQ6HU6dOtVruhsRUThgACIiIgpQjz32GObPn4/k5GRce+21EEURe/bswd69e/HEE08A6J7qtm7dOkycOBE6nQ52u/2S41osFvzkJz/BAw88AEmSMGnSJLS0tODzzz+H2WzuWXNERBSKuA02ERFRgJo9ezbWrFmDjz76CGPHjkVxcTGee+45pKam9tzn2WefxUcffYTk5ORz1u9czK9//Ws89thjePLJJ5GXl4fZs2fjnXfeQXp6uj/+KUREAUOQZVlWuggiIiIiIqLBwA4QERERERGFDQYgIiIiIiIKGwxAREREREQUNhiAiIiIiIgobDAAERERERFR2GAAIiIiIiKisMEAREREREREYYMBiIiIiIiIwgYDEBERERERhQ0GICIiIiIiChsMQEREREREFDYYgIiIiIiIKGwwABERERERUdhgACIiIiIiorDBAERERERERGGDAYiIiIiIiMIGAxAREREREYUNBiAiIiIiIgobDEBERERERBQ2GICIiIiIiChsMAAREREREVHYYAAiIiIiIqKwwQBERERERERhgwGIiIiIiIjCBgMQERERERGFDQYgIiIiIiIKGwxAREREREQUNhiAiIiIiIgobDAAERERERFR2GAAIiIiIiKisMEAREREREREYYMBiIiIiIiIwgYDEBERERERhQ0GICIiIiIiChsMQEREREREFDYYgIiIiIiIKGwwABERERERUdhgACIiIiIiorDBAERERERERGGDAYiIiIiIiMIGAxAREREREYUNBiAiIiIiIgobDEBERERERBQ2GICIiIiIiChsMAAREREREVHYYAAiIiIiIqKwwQBERERERERhgwGIiIiIiIjCBgMQERERERGFDQYgIiIiIiIKGwxAREREREQUNhiAiIiIiIgobDAAERERERFR2GAAIiIiIiKisMEAREREREREYYMBiIiIiIiIwgYDEBERERERhQ0GICIiIiIiChsMQEREREREFDYYgIiIiIiIKGwwABERERERUdhgACIiIiIiorDx/wEOeRFm2lQAgQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Using one set of data, one API call. Let's get a feel for the marketshare of\n", + "# each, and also get a taste of doing a data visualization with the data.\n", + "\n", + "plot = df.plot.pie(y='quote.USD.market_cap_dominance', figsize=(10, 10),\n", + " title='Market Share - Crypto Currencies', shadow=True, ylabel='', )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "015a2d2d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}