我怎样才能重建这个数据集,以便我可以比较这两家公司?

How can i reconstruct this dataset so i can compare these two companies?

我有这个table:

company store type year average_spend
A food y1 123.4
B food y2 340
A food y3 9.4
A pharmacy y1 13.4
B pharmacy y2 90

有两家公司,100种店型,3年。我想根据商店类型按平均支出比较公司 A 和 B YoY。我不确定如何以某种方式转动这个 table 但同时不执行任何计算。例如,最好将商店类型设置为行,将年份 公司作为列 headers,就像您在 excel 中所做的那样。唯一的问题是将上面的 table 导出到 excel,当你旋转时必须进行计算。

例如当我说 headers 列是年份和公司时,它将是 year1 那么在这家公司 A |公司 B. ... 不确定该怎么做 'pivot'。执行以下操作可以在结构上实现我想要的,但是我不想要聚合函数...

df.pivot_table(values='average_spend', index='store_type', columns=['company','year'], aggfunc='sum')

我该怎么做?

company      A               B      
cols        y1     y2   y3    y1    y2    y3
food        123.4  NaN  9.4   10    340   NaN
pharmacy    13.4   NaN  NaN   NaN    NaN   NaN

尝试:

idx = pd.MultiIndex.from_product(
    [df["company"].unique(), df["year"].unique()], names=["company", "year"]
)

x = df.pivot(
    values="average_spend", index="store_type", columns=["company", "year"]
)
x = x.reindex(columns=idx)
print(x)

打印:

company         A            B           
year           y1  y2   y3  y1     y2  y3
store_type                               
food        123.4 NaN  9.4 NaN  340.0 NaN
pharmacy     13.4 NaN  NaN NaN   90.0 NaN