Я пытаюсь получить данные из обмена api, и это, по-моему, в списке с dict внутри. Поэтому я хочу создать таблицу с именем, начальной ценой, ценой, высоким, низким и т.д. Вопрос: как мне попасть в формат dataframe? Индекс с pd.Dataframe
работает, но только если это один запас.
pd.Series
- это лучшее, что я получил до сих пор, и выглядит так:
1 {'BTC-ACM': {'initialprice': '0.00000390', 'pr...
0 {'BTC-AEON': {'initialprice': '0.00010617', 'p...
Исходные данные выглядят следующим образом:
[{'BTC-ACM': {'initialprice': '0.00000380', 'price': '0.00000428', 'high':
'0.00000510', 'low': '0.00000351', 'volume': '0.24647930', '
bid': '0.00000433', 'ask': '0.00000465'}}, {'BTC-AEON': {'initialprice':
'0.00010652', 'price': '0.00011040', 'high': '0.00013774', 'lo
w': '0.00010616', 'volume': '1.17486173', 'bid': '0.00011040', 'ask':
'0.00011867'}},....]
Попытайтесь сделать это таблицей следующим образом:
Name | InitialPrice |Price |High |Low|
BTC-ACM| 0.0000132 |0.123 |0.9 |0.2|
BTC-AEO| 0.2131243 |0.213 |0.2 |0.1|
Измените ваши данные, а затем вызовите DataFrame.to_dict
:
df = pd.DataFrame.from_dict(
{k : d[k] for d in data for k in d}, orient='index')
df[['initialprice', 'price', 'high', 'low']]
initialprice price high low
BTC-ACM 0.00000380 0.00000428 0.00000510 0.00000351
BTC-AEON 0.00010652 0.00011040 0.00013774 0.00010616
Вы можете попробовать:
pd.concat([pd.DataFrame(x).T for x in data])
d[k] for d in data for k in d