【问题标题】:Exporting a pandas Pivittable to excel with aggregation in place将 pandas 数据透视表导出到 excel 并进行聚合
【发布时间】:2021-01-04 21:24:55
【问题描述】:

我有一个名为 Cars 的数据框,由 3 列组成

汽车制造、颜色、数量

数据框日期格式如下:

CarMake. Colour. QtySold
BMW.     Red.     1
BMW.     Red      3
Ford.    Red.     4
Ford.    Black.   1
BMW.     Black    3

在 Pyhon 中,我有以下代码来创建数据透视表

multi_indexUBS = pd.pivot_table(Cars, index = ['CarMake','Colour'], values = 'QtySold', aggfunc = 'sum')

pd.set_option('display.max_rows', 无)

output in python gives correct result:
CarMake.  Colour. QtySold
BMW.       Red.   4
           Black. 3
Ford.      Red.   4
           Black. 1

当我尝试使用导出到 excel 时

Cars.to_excel(export_file_path, index=False, header=True)

excel中的结果显示df数据。 (丢失枢轴格式)

是否可以将 Pivot 表导出为 Python 中显示的那样(无需在 excel 中重做数据透视表?

【问题讨论】:

    标签: python-3.x excel pandas pivot-table


    【解决方案1】:
    1. 使用.reset_index() 为下一步做准备
    2. CarMake 列上使用带有.duplicated() 的布尔索引以返回NaN 以获取CarMake 列中的重复值。然后,当您导出到 excel 时,它将具有所需的输出:

    Cars = multi_indexUBS.reset_index()
    Cars['CarMake'] = Cars[~Cars['CarMake'].duplicated()]
    Cars.to_excel(export_file_path, index=False, header=True)
    
    CarMake    Colour QtySold
    BMW        Red          4
    NaN        Black        3
    Ford       Red          4
    NaN         Black       1
    

    【讨论】:

      猜你喜欢
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 2019-10-14
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 2022-07-26
      • 2022-08-18
      相关资源
      最近更新 更多