2016-04-04 3 views
-1

enter image description hereУплотненный Список словарей в Панды DataFrame

Здесь колонка питательные было 4 словарей в списке, каждый словарь имеет 5 ключей с 1 значений на каждой клавише.

Как я могу сгладить этот столбец питательных веществ, чтобы каждый из них был подстрочным столбцом или строкой?

На самом деле это был файл JSON, и я уже сплел его на это. Но я не мог идти дальше :(

Спасибо за помощь

EDIT:. Пожалуйста, смотрите ниже для получения дополнительной информации и то, что я пробовал:

enter image description here

enter image description here

enter image description here

enter image description here

+4

Вы можете разместить образец файла JSON в __text__ форме чтобы мы могли копировать, вставлять и разрабатывать рабочее решение? Я предполагаю, что должно быть возможно сгладить ваш файл JSON так, как вы хотите, без постобработки. – MaxU

+0

. Я разместил подробный комментарий ниже, если хотите, я могу отправить другую текстовую форму файла JSON. Еще раз спасибо! – lorelai

+1

Как вы думаете, почему я пометил «в форме __text__» полужирным шрифтом в моем первом комментарии? ;) – MaxU

ответ

2

Вы можете использовать json_normalize() для того, чтобы сгладить файл JSON как это:

import ujson 
import pandas as pd 

with open('/path/to/your/file.json') as f: 
    data = ujson.load(f) 

df = pd.io.json.json_normalize(data, 'nutrients', ['measure','name','ndbno','weight']) 

при условии, что ['measure','name','ndbno','weight'] - не являются вложенными

+0

Спасибо @MaxU, но это не работает в моем случае. По крайней мере, я не мог. – lorelai

+0

@MaxU. И что, если «питательные вещества» вложены еще раз. Я столкнулся с этой же проблемой, но мой столбец «питательных веществ» имеет второй уровень и использует (данные, [«питательные вещества», «что-то»]) не работает. –

+0

@ Даниэль Варгас, пожалуйста, задайте вопрос (вопрос) и разместите там свой набор данных (JSON) в текстовой форме и нужный набор данных – MaxU

Смежные вопросы