Конвертировать вложенный JSON в Dataframe - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть вложенный JSON, как показано ниже.Я хочу преобразовать его в информационный фрейм панды.Как часть этого, мне также нужно только проанализировать значение веса.Мне не нужна единица измерения.

Я также хочу, чтобы числовые значения были преобразованы из строковых в числовые.

Любая помощь будет оценена.Я относительно новичок в питоне.Спасибо.

JSON Пример:

{'id': '123', 'name': 'joe', 'weight': {'number': '100', 'unit': 'lbs'}, 
'gender': 'male'}

Пример вывода ниже:

id     name    weight    gender
123    joe     100       male

Ответы [ 3 ]

0 голосов
/ 14 февраля 2019

Примерно так должно получиться:

json_data = [{'id': '123', 'name': 'joe', 'weight': {'number': '100', 'unit': 'lbs'}, 'gender': 'male'}]
# convert the data to a DataFrame
df = pd.DataFrame.from_records(json_data)
# conver id to an int
df['id'] = df['id'].apply(int)
# get the 'number' field of weight and convert it to an int
df['weight'] = df['weight'].apply(lambda x: int(x['number']))
df
0 голосов
/ 14 февраля 2019

использовать "из pandas.io.json import json_normalize".

id     name    weight.number  weight.unit  gender
123    joe     100              lbs        male
0 голосов
/ 14 февраля 2019

если вы хотите отбросить единицу измерения веса, просто сгладьте json:

temp = {'id': '123', 'name': 'joe', 'weight': {'number': '100', 'unit': 'lbs'}, 'gender': 'male'}
temp['weight'] = temp['weight']['number']

, затем превратите его в кадр данных:

pd.DataFrame(temp)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...