Панды длинные и широкие, ПРИ СОХРАНЕНИИ существующих столбцов?Python

Программы на Python
Ответить
Anonymous
 Панды длинные и широкие, ПРИ СОХРАНЕНИИ существующих столбцов?

Сообщение Anonymous »

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

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

import pandas as pd

raw_data = {'FirstName': ["John", "Jill", "Jack", "John", "Jill", "Jack",],
'LastName': ["Blue", "Green", "Yellow","Blue", "Green", "Yellow"],
'Building': ["Building1", "Building1", "Building2","Building1", "Building1", "Building2"],
'Month': ["November", "November", "November", "December","December", "December"],
'Sales': [100, 150, 275, 200, 150, 150]}

frame = pd.DataFrame(raw_data, columns =raw_data.keys())
Это создает фрейм данных, который выглядит следующим образом:
OutputFrame
Я хочу превратить месяцы в столбцы, WHILE сохранение остальных данных. Итак, что-то вроде этого: DesiredFrame
Я попробовал предложения по повороту отсюда: изменение формы Pandas от длинной до широкой, с помощью двух переменных
Я попробовал по месяцам:

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

frame.pivot(columns = 'Month')
Ошибка 1
Я попробовал добавить больше столбцов, чтобы посмотреть, получится ли очистить:

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

frame.pivot(columns = ('FirstName', 'LastName','Month'), values = 'Sales' )
Fail2
В обоих случаях у меня получились какие-то странные столбцы. Мне очень любопытно узнать, что здесь делает Pandas, но я понятия не имею, как это понять.
Думаю, я мог бы пройти цикл и просто воссоздать данные, но я считаю, что это должен быть лучший способ?

Подробнее здесь: https://stackoverflow.com/questions/706 ... ng-columns
Ответить

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

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

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

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

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