Я создал несколько простых данных в качестве иллюстрации, похожих на существующие у меня данные:
Код: Выделить всё
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')
Я попробовал добавить больше столбцов, чтобы посмотреть, получится ли очистить:
Код: Выделить всё
frame.pivot(columns = ('FirstName', 'LastName','Month'), values = 'Sales' )
В обоих случаях у меня получились какие-то странные столбцы. Мне очень любопытно узнать, что здесь делает Pandas, но я понятия не имею, как это понять.
Думаю, я мог бы пройти цикл и просто воссоздать данные, но я считаю, что это должен быть лучший способ?
Подробнее здесь: https://stackoverflow.com/questions/706 ... ng-columns
Мобильная версия