Страницы

Поиск по вопросам

среда, 26 февраля 2020 г.

Корректировка столбцов в pivot tables pandas

#python #pandas #dataframe #pivot


Коллеги, помогите подкорректировать столбцы в датафрейме:

Исходный датафрейм:

Регистрационный номер  Год  Наименование      Значение
1034700581190         2014 Основные средства 244710.0
1034700581190         2014 Активы            234987645.0
1034700581190         2014 Запасы            3487569


Я создал pivot table чтобы видоизменить табличное представление 

spark_fin_rows.pivot_table(index=['Регистрационный номер', 'Год'], columns=['Наименование'],
values=['Значение'], fill_value=0).reset_index()


Я получил следующий датафрейм

Регистрационный номер  Год    Значение
                               Основные средства Активы      Запасы   
    1034700581190      2014    244710.0          234987645.0   3487569


Как сделать так, чтобы убрать название столбца "Значение", а Основные средства Активы,
Запасы остались.
    


Ответы

Ответ 1



Пример: In [88]: pvt Out[88]: Регистрационный номер Год Значение Наименование Активы Запасы Основные средства 0 1034700581190 2014 234987645 3487569 244710 In [89]: res = pvt.rename(columns={"Значение":""}) In [90]: res.columns = [t[0] if t[0] else t[1] for t in res.columns] In [91]: res Out[91]: Регистрационный номер Год Активы Запасы Основные средства 0 1034700581190 2014 234987645 3487569 244710 UPDATE: использовал ваш raw_data.xls: In [130]: df = pd.read_excel(r"D:\download\raw_data.xls", index_col=0) In [131]: pvt = df.pivot_table(index=['Регистрационный номер', 'Год'], columns=['Наименование'], values=['Значение'], fill_value=0).reset_index() In [132]: res = pvt.rename(columns={"Значение":""}) In [133]: res.columns = [t[0] if t[0] else t[1] for t in res.columns] In [134]: res Out[134]: Регистрационный номер Год Активы всего Валовая прибыль (убыток) Внеоборотные активы ... \ 0 1027807593549 2014 16666 0 16372 ... 1 1027807593549 2015 20908 0 20498 ... 2 1027807593549 2016 24526 0 23637 ... 3 1027807593549 2017 71643 0 68818 ... 4 1034700581190 2014 294590 74698 251908 ... 5 1034700581190 2015 284245 100225 233813 ... 6 1034700581190 2016 223843 110387 222945 ... .. ... ... ... ... ... ...

Комментариев нет:

Отправить комментарий