Я хочу объединить месячные данные для нескольких атрибутов в одну строку, состоящую из данных за весь год.Эта проблема похожа на Объединение нескольких рядов временных рядов в один ряд с пандами .Решение этого вопроса сработало бы для меня, если бы месяцы моих лет были полными, но для большинства моих данных месяцы отсутствуют в отдельных годах.Если имеются данные только за декабрь, решение заполнит первый столбец, а не столбец 12.
Например, я использую только январь-июнь.
Вот примермои данные:
ex_df = pd.DataFrame({'year': [1966, 1966, 1966, 1967, 1967, 1967], 'month': [1, 2, 6, 2, 3, 4], 'A': [10, 5, 0, np.nan, 25, 0], 'B': [-100, -80, 100, -120, 0, 60], 'C': [-1, -18, -2, -11, 10, 6]})
Вот оптимальное решение:
sol_df = pd.DataFrame({'year': [1966, 1967], 'A1': [10, np.nan], 'A2': [5, np.nan],'A3': [np.nan, 25],'A4': [np.nan, 0],'A5': [np.nan, np.nan],'A6': [0, np.nan],'B1': [-100, np.nan], 'B2': [-80, -120], 'B3': [np.nan, 0], 'B4': [np.nan, 60], 'B5': [np.nan, np.nan], 'B6': [100, np.nan],'C1': [-1, np.nan], 'C2': [-18, -11], 'C3': [np.nan, 10], 'C4': [np.nan, 6], 'C5': [np.nan, np.nan], 'C6': [-2, np.nan] })
A, B, C являются атрибутами, а число соответствует месяцу.