как преобразовать словарь в датафрейм
Подскажите, как можно напечатать некоторые ключи этого словаря в датафрейм?
В первую очередь интересует как совместить ключи data и arg в одном датафрейме без фигурных скобок?
import pandas as pd
res = {
"action": "snapshot",
"arg": {
"instType": "SPOT",
"channel": "trade",
"instId": "BTCUSDT"
},
"data": [
{
"ts": "1695709835822",
"price": "26293.4",
"size": "0.0013",
"side": "buy",
"tradeId": "1000000000"
}
],
"ts": 1695711090682
}
df = pd.json_normalize(res,'data','arg')
df
Результат должен выглядеть так:
ts price size side tradeId arg.instId
0 1695709835822 26293.4 0.0013 buy 1000000000 BTCUSDT
Ответы (1 шт):
Автор решения: Алексей Р
→ Ссылка
В данном конкретном случае можно сделать так
df = pd.DataFrame(res["data"][0] | res['arg'], index=[0]).drop(columns=['instType', 'channel']).rename(columns={'instId':'arg.instId'})
ts price size side tradeId arg.instId
0 1695709835822 26293.4 0.0013 buy 1000000000 BTCUSDT
Или так:
df = pd.DataFrame(res["data"][0] | {'arg.instId': res['arg']["instId"]}, index=[0])
Еще вариант:
df = pd.json_normalize(res, 'data', 'arg').rename(columns={'arg':'arg.instId'})
df['arg.instId'] = df['arg.instId'].str['instId']