JSON до Pandas Изменение типов данных - PullRequest
1 голос
/ 11 марта 2020

У меня JSON вывод из пакета m3inference в python, например:

{'input': {'description': 'Bundeskanzlerin',
       'id': '2631881902',
       'img_path': '/root/m3/cache/angelamerkeicdu_224x224.jpg',
       'lang': 'de',
       'name': 'Angela Merkel',
       'screen_name': 'angelamerkeicdu'},
 'output': {'age': {'19-29': 0.0,
                '30-39': 0.0001,
                '<=18': 0.0001,
                '>=40': 0.9998},
        'gender': {'female': 0.9991, 'male': 0.0009},
        'org': {'is-org': 0.0032, 'non-org': 0.9968}}}

Я храню его в:

org = pd.DataFrame.from_dict(json_normalize(org['output']), orient='columns')

        gender.male  gender.female  age.<=18  ...  age.>=40  org.non-org  org.is-org
    0       0.0009         0.9991    0.0000  ...    0.9998       0.9968      0.0032

Я не знаю, откуда берется значение 0 в первом столбце, я сохраняю org.isorg столбец в isorg

isorg = org['org.is-org']

, но когда я добавляю его в кадр данных panda dtypes - объект, значение изменяется на

0 0.0032 Name: org.is-org, dtype: float64

not 0.0032

Как это исправить?

1 Ответ

0 голосов
/ 11 марта 2020

"Я не знаю, откуда берется значение 0 в первом столбце, затем я сохраняю столбец org.isorg в isorg"

То, что "0" является индексом для вашего фрейма данных. Если вы не укажете свой индекс данных, pandas автоматически создаст индекс. Вместо этого вы можете изменить свой индекс.

пример кода:

org.set_index('gender.male', inplace=True)

Индекс похож на адрес ваших данных. Это то, как можно получить доступ к любой точке данных на фрейме данных или серии.

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