Как объединить две или более серий в Pandas (с примерами)


Вы можете использовать следующий синтаксис для быстрого объединения двух или более серий в один кадр данных pandas:

df = pd.concat([series1, series2, ...], axis= 1 )

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: объединить две серии в Pandas

В следующем коде показано, как объединить две серии pandas в один кадр данных pandas:

import pandas as pd

#define series
series1 = pd.Series(['Mavs', 'Rockets', 'Spurs'], name='Team')
series2 = pd.Series([109, 103, 98], name='Points')

#merge series into DataFrame
df = pd.concat([series1, series2], axis= 1 )

#view DataFrame
df

 Team Points
0 Mavs 109
1 Rockets 103
2 Spurs 98

Обратите внимание, что если одна серия длиннее другой, Pandas автоматически предоставят значения NaN для отсутствующих значений в результирующем кадре данных:

import pandas as pd

#define series
series1 = pd.Series(['Mavs', 'Rockets', 'Spurs'], name='Team')
series2 = pd.Series([109, 103], name='Points')

#merge series into DataFrame
df = pd.concat([series1, series2], axis= 1 )

#view DataFrame
df

 Team Points
0 Mavs 109
1 Rockets 103
2 Spurs NaN

Пример 2: объединить несколько серий в Pandas

В следующем коде показано, как объединить несколько серий в один кадр данных pandas:

import pandas as pd

#define series
series1 = pd.Series(['Mavs', 'Rockets', 'Spurs'], name='Team')
series2 = pd.Series([109, 103, 98], name='Points')
series3 = pd.Series([22, 18, 15], name='Assists')
series4 = pd.Series([30, 35, 28], name='Rebounds')

#merge series into DataFrame
df = pd.concat([series1, series2, series3, series4], axis= 1 )

#view DataFrame
df

 Team Points Assists Rebounds
0 Mavs 109 22 30
1 Rockets 103 18 35
2 Spurs 98 15 28

Дополнительные ресурсы

Как объединить два кадра данных Pandas в индексе
Как объединить Pandas DataFrames в несколько столбцов
Как сложить несколько фреймов данных Pandas