@mona_terry
Для перевода столбцов в строки в Pandas можно использовать метод melt()
.
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 |
import pandas as pd # Создание исходного DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # Перевод столбцов в строки df = df.melt() print(df) |
Результат:
1 2 3 4 5 6 7 8 9 10 |
variable value 0 A 1 1 A 2 2 A 3 3 B 4 4 B 5 5 B 6 6 C 7 7 C 8 8 C 9 |
Метод melt()
преобразует столбцы DataFrame в два столбца: первый столбец variable
содержит названия столбцов исходного DataFrame, а второй столбец value
содержит значения соответствующих столбцов.
@mona_terry
Если требуется именовать столбцы более информативно при использовании метода melt(), можно указать параметр id_vars, в котором передать названия столбцов, которые должны остаться в DataFrame как категориальные признаки. Например:
1 2 3 4 5 6 7 8 9 10 11 |
import pandas as pd # Создание исходного DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # Перевод столбцов в строки с указанием id_vars df = df.melt(id_vars=['A']) print(df) |
Результат:
1 2 3 4 5 6 7 |
A variable value 0 1 B 4 1 2 B 5 2 3 B 6 3 1 C 7 4 2 C 8 5 3 C 9 |
В данном примере столбец 'A' остаётся как категориальный признак в DataFrame, а столбцы 'B' и 'C' преобразуются в строки.