#json #python-2.7 #pandas
#json #python-2.7 #pandas
Вопрос:
Привет, у меня есть приведенный ниже набор данных в dataframe:
app_id | mob | qtr | amt_fin | net_loss
------------------------------------------------
59101378 | 0 | 20143 | 32387.99 | 1.47
-----------------------------------------------
59101378 | 1 | 20143 | 32387.99 | 3.6
-----------------------------------------------
59101378 | 2 | 20143 | 32387.99 | 1.02
-----------------------------------------------
59101378 | 3 | 20143 | 32387.99 | 0.77
------------------------------------------------
59101378 | 4 | 20143 | 32387.99 | 0.77
-----------------------------------------------
59101500 | 0 | 20143 | 2500 | 1.088
-----------------------------------------------
59101500 | 1 | 20143 | 2500 | -0.13
-----------------------------------------------
59101500 | 2 | 20143 | 2500 | 0.43
-----------------------------------------------
59101500 | 3 | 20143 | 2500 | 0.45
Мне нужен мой файл json следующим образом:
[app_id=59101378:{mob=0{qtr=20143,amt_fin=32387.9,net_loss=1.47},mob=1{qtr=20143,amt_fin=32387.9,net_loss=3.6},mob=2{qtr=20143,amt_fin=32387.9,net_loss=1.02},mob=3{qtr=20143,amt_fin=32387.9,net_loss=0.77},mob=4{qtr=20143,amt_fin=32387.9,net_loss=0.77}},app_id=59101500:{mob=0{qtr=20143,amt_fin=2500,net_loss=-.13},mob=1{qtr=20143,amt_fin=2500,net_loss=.43},mob=2{qtr=20143,amt_fin=2500,net_loss=.45}}]
возможно, проблема с форматом, но способ индексирования, который я ищу, такой же. Не могли бы вы сообщить мне, как я могу добиться этого в python, panda, json
я хочу, чтобы мой файл json индексировался в столбцах app_id, а затем в столбцах mob. но одна единственная запись для app_id
Комментарии:
1. это недопустимо
json
. Я остаюсь, пытаясь расшифровать, хотите ли вы этот точный шаблон и думали, что этоjson
так, или если хотите,json
и не был уверен, что то, что вы представили, на самом делеjson
. Если вы хотите получить фактическую сертификациюjson
, вы не можете получить то, что просили.
Ответ №1:
Это генерирует правильную строку json в той ориентации / порядке, которые вы ищете:
df.to_json(orient='records')
Комментарии:
1. OP, пожалуйста, обратите внимание, что это правильно
json
и почти наверняка то, что вам действительно нужно.2. это не помогло. Я хочу, чтобы индекс был в app_id, а затем в mob.
3. приведенный выше синтаксис дал мне несколько {…} для того же app_id,
4. вы также можете set_index и получить orient=’index’ . Вам нужно поиграть с аргументами, но опять же, и, как уже упоминал @piRSquared, ваша проблема в том, что вы все еще не знаете, какой квалифицированный json вам нужен, поэтому вам лучше сначала поработать над этим определением