ValueError возникает при создании DataFrame словаря

Я пытаюсь создать pandas DataFrame из словаря серии pandas, и в некоторых случаях возникает следующая ошибка:

ValueError: Форма переданных значений (1, 2), индексы подразумевают (0, 2) «Форма переданных значений — {0}, индексы подразумевают {1}». Формат (переданный, подразумеваемый) ValueError: Форма переданных значений (1, 2), индексы означают (0, 2)

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

Ошибка возникает в следующей строке моего кода.

resultRFF = pd.DataFrame({'breakdowns': breakdown['type'], 'ranks': ranksRFF})

ranksRFF и breakdown['type'] - это серии панд с одинаковой длиной и индексами.

Ошибка возникает не во всех случаях и, по-видимому, возникает в том случае, если длина этих серий равна 0.


person Emma van de Vreugde    schedule 07.11.2019    source источник


Ответы (3)


Попробуй это:

resultRFF = pd.DataFrame({'breakdowns': breakdown['type'].values, 'ranks': ranksRFF.values})
person satyam soni    schedule 07.11.2019
comment
Спасибо за предложение. Ошибка у меня исчезла, но, к сожалению, возникает новая ошибка. Но я узнал, почему иногда это идет не так. Ошибка возникает, если серия имеет длину 0. Любые предложения по решению этой проблемы? Я отредактирую основной вопрос. - person Emma van de Vreugde; 07.11.2019
comment
оба столбца должны иметь одинаковое количество записей, вы должны проверить длину и в этом случае заполнить оставшиеся записи np.nan, чтобы они соответствовали длине серии. - person satyam soni; 07.11.2019

Пожалуйста, попробуйте это pd.DataFrame([{'breakdowns': breakdown['type'], 'ranks': ranksRFF}]), я имею в виду передать список в DataFrame

person Вадим Семенов    schedule 07.11.2019
comment
Спасибо за ответ. К сожалению, это дает мне кадр данных 1 на 2 ячейки, который не является кадром данных 2 по длине breakdown['type'] и «ranksRFF», который я ищу. - person Emma van de Vreugde; 07.11.2019

По-видимому, панды не могут обрабатывать пустые серии. Решение для меня состоит в том, чтобы просто поймать эти исключения.

person Emma van de Vreugde    schedule 12.11.2019