Разбор больших строковых значений в Pandas - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть .csv, из которого я сгенерировал фрейм данных.Этот CSV имеет исходные данные из системы, которая соответствует следующему формату:

{"DataType1":"Value","DataType2":"Value","DataType3":"Value",.....}

Каждая строка в кадре данных имеет только это в 1 столбце.Я пытаюсь разобраться, чтобы типы данных стали заголовками столбцов, а значения заполняли строки.Еще один аспект заключается в том, что не все строки имеют одинаковые типы данных, некоторые имеют дополнительные типы данных, которые могут отсутствовать в других строках.Например, строка 1 может иметь DataType1, DataType2 и DataType3, а строка 2 может иметь DataType2, DataType4 и DataType5.В идеале я хотел бы, чтобы в выводе заголовки столбцов включали все типы данных, независимо от того, имеет ли эта строка значение для этого или нет.Таким образом, окончательная структура данных будет иметь такую ​​структуру:

-------------------------------------------------------------
| DataType1 | DataType2 | DataType3 | DataType4 | DataType5 |
-------------------------------------------------------------
| Value     | Value     | Value     |   NaN     |   NaN     |
-------------------------------------------------------------
|  NaN      |  Value    | NaN       | Value     |  Value    |
-------------------------------------------------------------

1 Ответ

0 голосов
/ 16 ноября 2018

Дата-кадры следуют этому формату при преобразовании из словаря:

dict = {'column 1':[1,2], 'column 2':[3,4], ...}

Обратите внимание, что длина значений в каждом ключе одинакова или

pd.DataFrame(dict)

выдаст ошибку.

Чтобы превзойти ошибку, вы можете перебрать dict и создать DataFrame, проанализировав его.

pd.DataFrame(dict([(k,pd.Series(v)) for k,v in dict.items() ]))

* Предполагая, что 'dict' - ваше словарное имя.

Таким образом, вы получите желаемый результат.

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