Проблема с Pandas: обработка словарей со смешанными списками и диапазонамиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с Pandas: обработка словарей со смешанными списками и диапазонами

Сообщение Anonymous »


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

Код: Выделить всё

ValueError: All arrays must be of the same length.
Я также не могу запросить и найти нужные значения по той же причине.
Приведенный ниже код представляет собой небольшой фрагмент мой код и я сталкиваюсь с вышеупомянутой ошибкой. Я также получаю сообщение об ошибке IndexError: один позиционный индексатор выходит за пределы.

Код: Выделить всё

ScaleX_Adjustment = {
'X-Raw': [range(0, 34), list(range(34, 61)), range(61, 124), list(range(124, 179))],
'1-8B': [+20, +20, +20, +20, +19, +18, +17, +17, +16, +15, +14, +13, +13, +12, +11, +10, +9, +9, +8, +7, +6, +5,
+5, +4, +3, +2, +1, +1, 0, -1, -1, -1, -2, -2, -3, -3, -3, -4, -4, -5, -5, -5, -6, -6, -7, -7, -7, -8,
-8, -9, -9 - 9, -10, -10, -11, -11, -11, -12, -12, -13, -13, -13, -14, -14, -15, -15, -15, -16, -16,
-17, -17, -17, -18, -18, -19, -19, -19, -20, -20, -20, -20, -20, -20, -20],
'S-PP': [+10, +10, +10, +10, +10, +10, 9, 9, 9, 8, 8, 7, 7, 7, 6, 6, 5, 5, 5, 4, 4, 3, 3, 3, 2, 2, 1, 1, 0, -1,
-1, -1, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3, -4, -4, -4, -4, -4, -5, -5, -5, -5, -5, -6, -6, -6, -6,
-6, -7, -7, -7, -7, -7, -8, -8, -8, -8, -8, -9, -9, -9, -9, -9, -10, -10, -10, -10, -10, -11, -11, -11,
-11, -11, -11, -11]
}
ScaleX_Adjustment_DF = pd.DataFrame(ScaleX_Adjustment)
ScaleX_1to8B = ScaleX_Adjustment_DF.loc[ScaleX_Adjustment_DF['X-Raw'] == ScaleX_Raw, '1-8B'].iloc[0]
ScaleX_StoPP = ScaleX_Adjustment_DF.loc[ScaleX_Adjustment_DF['X-Raw'] == ScaleX_Raw, 'S-PP'].iloc[0]
Мне нужно сохранить исходную структуру моего словаря (со списками и диапазонами) и найти решение для его преобразования в DataFrame без возникновения этой ошибки. Есть какие-нибудь предложения или обходные пути?
Одна вещь, которую я пытался сделать, это расширить все списки и диапазоны и удалить структуру, которую я дал, но это будет очень подвержено низкой надежности, и должно быть лучшее решение. Я считаю, что это обходной путь.

Подробнее здесь: https://stackoverflow.com/questions/793 ... and-ranges
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»