使用Python转置表格

-1 投票
3 回答
47 浏览
提问于 2025-04-14 16:30

我有一个表格,需要用Python以一种非常特定的方式来转置它:

这里插入图片描述

但是我需要把它转置成下面这样的样子:

这里插入图片描述

也就是说,要转置表头,除了第一列之外,然后把第一行和第一列的第一个值互换,接着对所有的商店重复这个过程。

3 个回答

0

一个简洁的替代方案,可以参考之前给出的答案:

df = df.melt(id_vars="Store", var_name="Qrt", value_name="Sales")

https://pandas.pydata.org/docs/reference/api/pandas.melt.html

1
df = df.set_index('Store').stack().reset_index(name='Sales').rename(columns={'level_1':'Qrt'})
print (df)

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

1

试试这个:

df = (
    df.set_index("Store")
    .stack()
    .rename("Sales")
    .rename_axis(["Store", "Qrt"])
    .reset_index()
)
print(df)

输出结果是:

      Store       Qrt  Sales
0   Store 1  FQ2 2022   0.51
1   Store 1  FQ4 2022   0.53
2   Store 1  FQ2 2023   0.70
3   Store 1  FQ4 2023   0.74
4   Store 2  FQ2 2022   0.65
5   Store 2  FQ4 2022   0.65
6   Store 2  FQ2 2023   0.33
7   Store 2  FQ4 2023   0.34
8   Store 3  FQ2 2022   0.56
9   Store 3  FQ4 2022   0.76
10  Store 3  FQ2 2023   0.67
11  Store 3  FQ4 2023   0.33
12  Store 4  FQ2 2022   0.58
13  Store 4  FQ4 2022   0.77
14  Store 4  FQ2 2023   0.67
15  Store 4  FQ4 2023   0.30

撰写回答