У меня есть таблица, которую мне нужно транспонировать особым образом с помощью Python:
Но мне нужно транспонировать его следующим образом:
Это означает транспонировать заголовки, за исключением первого столбца, а затем первой строки с первым значением в первом столбце, а затем повторить для всех магазинов.
Отвечает ли это на ваш вопрос? Выполнение противоположного поворота в пандах Python






Пытаться:
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
df = df.set_index('Store').stack().reset_index(name='Sales').rename(columns = {'level_1':'Qrt'})
print (df)
Краткая альтернатива уже данным ответам:
df = df.melt(id_vars = "Store", var_name = "Qrt", value_name = "Sales")
https://pandas.pydata.org/docs/reference/api/pandas.melt.html
используйте эту ссылку, чтобы помочь вам stackoverflow.com/questions/48135994/…