#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 ... .. ... ... ... ... ... ...
Комментариев нет:
Отправить комментарий