Как перевести столбцы в строки в pandas?

Пользователь

от mona_terry , в категории: Python , год назад

Как перевести столбцы в строки в pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от leila.dickinson , год назад

@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 содержит значения соответствующих столбцов.

Пользователь

от autumn_parker , 4 месяца назад

@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' преобразуются в строки.