Преобразование Dict с пустым списком (Значения) в df - PullRequest
0 голосов
/ 04 марта 2019

Я новичок в пандах и изо всех сил пытался преобразовать Dict в df, используя pd.DataFrame(Dict).Вот дальнейшие детали: этот Dict является частью цикла for, который на каждой итерации читает новый входной файл.В результате значения Dict (списки) обновляются каждый раз и принимают разные размеры списков.Проблема в том, что мой код не может выполнить pd.DataFrame(Dict) после того, как Dict содержит пустые списки (значения) для всех ключей и выплевывает: «ValueError: Если вы используете все скалярные значения, вы должны передать индекс»

Dict = {'Title': [],
'Organization': [],
'City': [],
'Company': []}

Может ли кто-нибудь пролить свет на это?Заранее спасибо миллион.

1 Ответ

0 голосов
/ 04 марта 2019

Выполнение вашего примера словаря с помощью команды pd.DataFrame(Dict) не дает мне никаких ошибок, я просто получаю пустой DataFrame.И так и должно быть, поскольку те пустые списки, которые у вас есть в качестве значений, не являются скалярами, они являются итеративными.Это ValueError отображается, когда все значения фактически являются скалярами, например, целые числа / числа с плавающей запятой / строки.Если вы просто конвертируете эти скаляры в итерируемые элементы, такие как пустые списки или списки, каждый из которых содержит один элемент (например, ['New York']), вы не должны получать никаких ошибок.

Для этого SO потока Есть много предложенных способов обработки этой ошибки, когда у вас действительно есть скаляры, такие как фактическая передача индекса в pd.DataFrame() в виде списка, как запрашивается в сообщении об ошибке.Вам просто нужно сделать размер этого списка индексов таким же, как количество элементов, которые вы подаете в DataFrame.

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