dict1 = {'c': [277.775, 277.76, 277.65, 277.64, 277.5215],
'h': [277.89, 278.06, 277.98, 277.76, 277.98],
'l': [277.67, 277.71, 277.59, 277.42, 277.472],
'o': [277.69, 277.795, 277.77, 277.66, 277.72],
's': 'ok',
't': [1587412320, 1587412380, 1587412440, 1587412500, 1587412560, 1587412560,],
'v': [0, 142752, 133100, 259539, 0]}
Для вышеупомянутого полученного вывода из ответа API вы можете сделать следующее:
import pandas as pd
df1 = pd.DataFrame.from_dict(dict1, orient="index").T.drop(columns=["s"])
df1
Приведенный выше код создаст кадр данных из словаря, ориентируясь по индексу (можно сделать это с помощью столбец тоже, если значения списка равны в словаре), а затем транспонирует его. Падение будет указывать, какой столбец вы бы хотели удалить.
Вывод:
Out[21]:
c h l o t v
0 277.775 277.89 277.67 277.69 1587412320 0
1 277.76 278.06 277.71 277.795 1587412380 142752
2 277.65 277.98 277.59 277.77 1.58741e+09 133100
3 277.64 277.76 277.42 277.66 1.58741e+09 259539
4 277.522 277.98 277.472 277.72 1.58741e+09 0
5 NaN NaN NaN NaN 1.58741e+09 NaN
Вы не хотели бы содержать NaN
, следовательно, вы можете добавить dropna()
к коду, как показано ниже:
df1 = pd.DataFrame.from_dict(dict1, orient="index").T.drop(columns=["s"]).dropna()
Таким образом, у вас есть возможность обрабатывать NaN
и отбрасывать столбцы не обязательно.