Python для криптовалют - структура данных - PullRequest
0 голосов
/ 24 мая 2018

У меня есть следующий код в Jupyter. Обратите внимание, что мне нравится очищать сайт CoinMarketCap:

     url = 'https://coinmarketcap.com/all/views/all/'
     df=pd.read_html(url, header=None)
     df[0]

Выходные данные раньше были кадром данных панд, но теперь это список из 1623 строк × 11 столбцов, и когда яtry:

     df_crypto = pd.DataFrame(df)

возвращает только имена столбцов.Итак, есть идеи?

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Я рекомендую использовать CoinMarketCap Api, если вы хотите собирать данные об этих активах.В настоящее время вы копируете HTML-страницу и собираете много лишней, ненужной информации.

Я предлагаю вам сделать следующее:

import requests 

r = requests.get('https://api.coinmarketcap.com/v2/ticker/')
x = r.json()

Затем вы можете преобразовать этот словарь в фрейм данных pandas

0 голосов
/ 24 мая 2018

Прямо из документации pandas.read_html

Возвращает: dfs: список фреймов данных

Вам необходимо получить доступ к нужному индексу вашего списка (в данном случае к первому индексу) и удалить безымянные столбцы.

Пример

df = pd.read_html(url)
df = df[0].loc[:, ~df[0].columns.str.contains('^Unnamed')]
df.head(2)

# Result

   #          Name Symbol        Market Cap     Price Circulating Supply  \
0  1   BTC Bitcoin    BTC  $129,198,417,887  $7576.52           17052475
1  2  ETH Ethereum    ETH   $59,151,386,138   $593.64           99642183

     Volume (24h)    % 1h   % 24h     % 7d
0  $6,196,160,000  -0.40%  -0.32%   -7.55%
1  $2,861,120,000  -0.22%   0.31%  -13.54%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...