Функция Pandas Series to_frame() преобразует Series в DataFrame. Серия определяется как тип списка, который может содержать строку, целое число, двойные значения и т. д.
Как преобразовать серию в DataFrame
Чтобы преобразовать серию Pandas в DataFrame, используйте метод to_frame() для Series. Метод Series .to_frame() используется для преобразования объекта Series в DataFrame. Series — это одномерный массив с метками осей, который также определен в библиотеке Pandas.
Метки не обязательно должны быть уникальными, но должны быть типом хэшируемого. Объект поддерживает как целочисленное индексирование, так и индексирование на основе меток, а также предоставляет множество функций для выполнения операций с индексом.
Синтаксис
|
1 |
Series.to_frame(name=None) |
Параметры
Series.to_frame() имеет только один параметр, name, который заменяет имя серии (если оно есть).
Возвращаемое значение
Функция to_frame() возвращает представление серии DataFrame.
Примеры
- Напишем программу, показывающую работу метода Series .to_frame() в python.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
import pandas as pd # Creating the Series series = pd.Series([100, 200, 300, 400, 500]) # Print the series print("Series:\n") print(series) # converting the series into the dataframe dataframe = series.to_frame() print("\nDataFrame:\n") print(dataframe) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Series: 0 100 1 200 2 300 3 400 4 500 dtype: int64 DataFrame: 0 0 100 1 200 2 300 3 400 4 500 |
В приведенном выше примере мы видим, что мы создали серию, содержащую значения 100, 200, 300, 400 и 500. Затем с помощью функции to_frame() мы преобразовали ее в DataFrame и распечатали результат.
- Напишем программу для преобразования последовательности символов в DataFrame.
|
1 2 3 4 5 6 |
import pandas as pd series = pd.Series(["Rohit", "Mohit", "Sohit", "Karan"], name="name") dataframe = series.to_frame() print(dataframe) |
Выход:
|
1 2 3 4 5 |
name 0 Rohit 1 Mohit 2 Sohit 3 Karan |
Здесь мы создали серию, в которую вошли имена Rohit, Mohit, Sohit и Karan.
Затем, используя метод series.to_frame(), мы преобразовали эти имена в DataFrame и сохранили его. И, наконец, мы напечатали DataFrame.
Основное различие между Series и Data Frame заключается в том, что Series может содержать только один список с определенным индексом. Напротив, DataFrame представляет собой комбинацию нескольких серий, которые могут анализировать данные.
Давайте посмотрим на пример в Jupyter Notebook.

См. приведенный ниже код.
|
1 2 3 4 5 6 |
import pandas as pd series = pd.Series([1, 2, 3, 4, 5, 6], name="number") df = series.to_frame() print(df) |
Вы можете видеть, что мы преобразовали серию Pandas в DataFrame, и вы можете видеть, что это число является именем столбца DataFrame.
Как преобразовать несколько серий в DataFrame
Чтобы преобразовать несколько серий в DataFrame, необходимо:
- Определить несколько серий одну за другой.
- Преобразовать серию в DataFrame, используя функцию to_frame().
- Объединить разные фреймы данных в один, используя функцию Pandas concat().
Давайте разберем каждый из этих шагов подробно.
Шаг 1: определение несколько серий одну за другой
Чтобы определить серию в Python, используйте метод pd.Series() и передайте список Python.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// app.py import pandas as pd first_name = ['Millie','Finn','Sadie','Gaten','Noah'] series_first_name = pd.Series(first_name) print(series_first_name) last_name = ['Brown','Wolfhard','Sink','Matarazzo','Schnapp'] series_last_name = pd.Series(last_name) print(series_last_name) age = [15, 17, 16, 17, 15] series_age = pd.Series(age) print(series_age) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
0 Millie 1 Finn 2 Sadie 3 Gaten 4 Noah dtype: object 0 Brown 1 Wolfhard 2 Sink 3 Matarazzo 4 Schnapp dtype: object 0 15 1 17 2 16 3 17 4 15 dtype: int64 |
Вы можете видеть, что мы создали три объекта Series из списка Python.
Шаг 2: преобразование нескольких серий в несколько фреймов данных
Чтобы создать DataFrame из Series, используйте метод pd.DataFrame(). В нашем случае это несколько серий, поэтому мы создадим несколько фреймов данных.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// app.py import pandas as pd first_name = ['Millie', 'Finn', 'Sadie', 'Gaten', 'Noah'] series_first_name = pd.Series(first_name) df_first_name = pd.DataFrame(series_first_name, columns=['First Name']) print(df_first_name) last_name = ['Brown', 'Wolfhard', 'Sink', 'Matarazzo', 'Schnapp'] series_last_name = pd.Series(last_name) df_last_name = pd.DataFrame(series_last_name, columns=['Last Name']) print(df_last_name) age = [15, 17, 16, 17, 15] series_age = pd.Series(age) df_age = pd.DataFrame(series_age, columns=['Age']) print(df_age) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
First Name 0 Millie 1 Finn 2 Sadie 3 Gaten 4 Noah Last Name 0 Brown 1 Wolfhard 2 Sink 3 Matarazzo 4 Schnapp Age 0 15 1 17 2 16 3 17 4 15 |
Вы можете видеть, что все три серии теперь являются кадрами данных с именем столбца.
Теперь нам нужно объединить эти DataFrame, чтобы создать один фрейм данных, который может быть полезен для дальнейшего анализа.
Шаг 3: объединение всех трех фреймов данных
Чтобы объединить Pandas DataFrames, используйте метод Pandas concat(). Метод concat() используется для объединения объектов pandas вдоль определенной оси с дополнительной логикой набора, которая может быть объединением или пересечением по другим осям.
Просто добавьте одну строку метода concat() и все.
|
1 |
df = pd.concat([df_first_name, df_last_name, df_age], axis=1) |
Вы можете видеть, что мы передали список DataFrames методу concat. Теперь, если вы напечатаете df, он напечатает полный DataFrame, созданный из нескольких объектов серии.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// app.py import pandas as pd first_name = ['Millie', 'Finn', 'Sadie', 'Gaten', 'Noah'] series_first_name = pd.Series(first_name) df_first_name = pd.DataFrame(series_first_name, columns=['First Name']) last_name = ['Brown', 'Wolfhard', 'Sink', 'Matarazzo', 'Schnapp'] series_last_name = pd.Series(last_name) df_last_name = pd.DataFrame(series_last_name, columns=['Last Name']) age = [15, 17, 16, 17, 15] series_age = pd.Series(age) df_age = pd.DataFrame(series_age, columns=['Age']) df = pd.concat([df_first_name, df_last_name, df_age], axis=1) print(df) |
Выход:
|
1 2 3 4 5 6 |
First Name Last Name Age 0 Millie Brown 15 1 Finn Wolfhard 17 2 Sadie Sink 16 3 Gaten Matarazzo 17 4 Noah Schnapp 15 |
Вот и все. Мы успешно создали один фрейм данных из нескольких серий.
Заключение

Pandas DataFrame — одна из самых популярных структур данных в науке о данных. Преобразование из одного типа в другой является обычной операцией в науке о данных, но часто используемой. И Series, и DataFrame полезны при анализе данных, и их преобразование из одного в другое представляет собой отдельную задачу. Используя метод to_frame(), мы увидели, как мы можем конвертировать серию в DataFrame.
