Объедините две серии Pandas в DataFrame

Опубликовано: 27 Марта, 2022

В этом посте мы узнаем, как объединить две серии в DataFrame? Перед тем как начать, давайте посмотрим, что это за серия?
Pandas Series - это одномерный помеченный массив, способный хранить данные любого типа. Другими словами, Pandas Series - это не что иное, как столбец на листе Excel.

Есть несколько способов объединить две серии в пандах. Вот несколько способов:

Метод 1. Использование pandas.concat ().

Этот метод выполняет всю тяжелую работу по выполнению операций конкатенации вдоль оси, одновременно выполняя необязательную логику набора (объединение или пересечение) индексов (если есть) на других осях.

Код:

python

# import pandas library
import pandas as pd
  
# this user defines function
# creates a series
# from the passed list.
def createSeries (series_list):
    
  # create a series
  series_list = pd.Series(series_list)
    
  return series_list
  
# create a series of students
students = createSeries(["ABC", "DEF",
                         "GHI", "JKL",
                         "MNO", "PQR"])  
# create a series of subjects
subject = createSeries(["C++", "C#"
                        "RUBY", "SWIFT",
                        "GO", "PYTHON"])
# create a series of marks
marks = createSeries([90, 30
                      50, 70
                      80, 60])
# create a dictonary
data = {"students": students,
        "subject": subject,
        "marks": marks}
  
# Concatenating the series side
# by side as depicted by axis=1
# If you want to concatenate the 
# series one below the other
# change the axis to zero.
df = pd.concat(data,
               axis = 1)
  
# show the dataframe
df

Выход:

Метод 2: Использование Series.append ().

Этот метод является ярлыком для concat. Этот метод объединяет по оси = 0, т.е. по строкам. Series.append () может принимать несколько объектов для объединения.

Code:

Python3

# import pandas library
import pandas as pd
  
# create a series
a = pd.Series(["ABC", "DEF"
               "GHI"])
  
# create a series
b = pd.Series(["JKL", "MNO"
               "PQR"])
  
# combine two series then
# create a dataframe
df = pd.DataFrame(a.append(b, 
                  ignore_index = True))
# show the dataframe
df

Выход:

Метод 3: Использование pandas.merge ().

Pandas имеет высокопроизводительные операции соединения в памяти, которые очень похожи на СУБД, такие как SQL. merge можно использовать для всех операций соединения базы данных между объектами dataframe или именованными сериями. В этом случае вы должны передать серии дополнительный параметр «name».

Code:

Python3

# import pandas library
import pandas as pd
  
# create a series
a = pd.Series(["C++", "JAVA"
               "PYTHON", "DBMS",
               "C#"], name = "subjects")
  
# create a series
b = pd.Series(["30", "60"
               "90", "56"
               "50"], name = "marks")
  
# merge both series 
df = pd.merge(a, b, right_index = True,
               left_index = True)
# show the dataframe
df

Выход:

Метод 4: Использование Dataframe.join () .

Этот метод также можно использовать для объединения двух серий, но вам необходимо преобразовать одну серию в фрейм данных.

Code:

Python3

# import pandas library
import pandas as pd
  
# create a series
a = pd.Series(["C++", "JAVA"
               "PYTHON", "DBMS"
               "C#"], name = "subjects")
  
# create a series
b = pd.Series(["30", "60"
               "90", "56"
               "50"], name = "marks")
  
# create a dataframe
a = pd.DataFrame(a)
  
# add series "b" 
# into dataframe "a"
df = a.join(b)
  
# show the dataframe
df

Выход:

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.