Преобразование столбцов в строки в Pandas: подробное руководство

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

Методы преобразования столбцов в строки:

  1. Использование функции Melt():
    Функция Melt() в Pandas позволяет преобразовывать столбцы в строки, сохраняя при этом другие столбцы в качестве идентификаторов. Вот пример:
import pandas as pd
# Create a sample DataFrame
data = {'Name': ['John', 'Alice', 'Bob'],
        'Maths': [85, 92, 78],
        'Science': [90, 88, 95]}
df = pd.DataFrame(data)
# Convert columns to rows using melt()
melted_df = pd.melt(df, id_vars='Name', var_name='Subject', value_name='Score')
print(melted_df)
  1. Использование функции stack():
    Функция stack() объединяет указанные столбцы в один столбец, в результате чего получается удлиненный по вертикали DataFrame. Вот пример:
import pandas as pd
# Create a sample DataFrame
data = {'Name': ['John', 'Alice', 'Bob'],
        'Maths': [85, 92, 78],
        'Science': [90, 88, 95]}
df = pd.DataFrame(data)
# Convert columns to rows using stack()
stacked_df = df.set_index('Name').stack().reset_index()
print(stacked_df)
  1. Использование функции Pivot():
    Функция Pivot() изменяет форму DataFrame на основе значений столбца. Вы можете указать столбец, который будет использоваться в качестве индекса, и другой столбец, который будет использоваться в качестве заголовков столбцов. Вот пример:
import pandas as pd
# Create a sample DataFrame
data = {'Name': ['John', 'Alice', 'Bob'],
        'Subject': ['Maths', 'Maths', 'Science'],
        'Score': [85, 92, 95]}
df = pd.DataFrame(data)
# Convert columns to rows using pivot()
pivoted_df = df.pivot(index='Name', columns='Subject', values='Score').reset_index()
print(pivoted_df)

В этой статье мы рассмотрели несколько методов преобразования столбцов в строки в Pandas. Мы рассмотрели функции Melt(), Stack() и Pivot(), каждая из которых служит определенной цели в зависимости от желаемого результата. Освоив эти методы, вы сможете эффективно преобразовывать данные для дальнейшего анализа и визуализации.

Не забудьте адаптировать примеры кода к вашему конкретному варианту использования и не стесняйтесь изучать официальную документацию Pandas для получения подробной информации о каждом методе.