Как использовать rbind в Python (эквивалентно R)


Функция rbind в R, сокращение от row-bind , может использоваться для объединения фреймов данных вместе по их строкам.

Мы можем использовать функцию concat() из pandas для выполнения эквивалентной функции в Python:

df3 = pd.concat([df1, df2])

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

Пример 1: Использование rbind в Python с равными столбцами

Предположим, у нас есть следующие два Pandas DataFrames:

import pandas as pd

#define DataFrames
df1 = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E'],
 'points': [99, 91, 104, 88, 108]})

print(df1)

 team points
0 A 99
1 B 91
2 C 104
3 D 88
4 E 108

df2 = pd.DataFrame({'assists': ['F', 'G', 'H', 'I', 'J'],
 'rebounds': [91, 88, 85, 87, 95]})

print(df2)

 team points
0 F 91
1 G 88
2 H 85
3 I 87
4 J 95

Мы можем использовать функцию concat() , чтобы быстро связать эти два кадра данных вместе по их строкам:

#row-bind two DataFrames
df3 = pd.concat([df1, df2])

#view resulting DataFrame
df3

 team points
0 A 99
1 B 91
2 C 104
3 D 88
4 E 108
0 F 91
1 G 88
2 H 85
3 I 87
4 J 95

Обратите внимание, что мы также можем использовать reset_index() для сброса значений индекса нового DataFrame:

#row-bind two DataFrames and reset index values
df3 = pd.concat([df1, df2]). reset_index(drop= True )

#view resulting DataFrame
df3

 team points
0 A 99
1 B 91
2 C 104
3 D 88
4 E 108
5 F 91
6 G 88
7 H 85
8 I 87
9 J 95

Пример 2. Использование rbind в Python с неравными столбцами

Мы также можем использовать функцию concat() для связывания строк вместе двух DataFrames, которые имеют неравное количество столбцов, и любые отсутствующие значения будут просто заполнены NaN:

import pandas as pd

#define DataFrames
df1 = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E'],
 'points': [99, 91, 104, 88, 108]})

df2 = pd.DataFrame({'team': ['F', 'G', 'H', 'I', 'J'],
 'points': [91, 88, 85, 87, 95],
 'rebounds': [24, 27, 27, 30, 35]})

#row-bind two DataFrames
df3 = pd.concat([df1, df2]). reset_index(drop= True )

#view resulting DataFrame
df3

 team points rebounds
0 A 99 NaN
1 B 91 NaN
2 C 104 NaN
3 D 88 NaN
4 E 108 NaN
5 F 91 24.0
6 G 88 27.0
7 H 85 27.0
8 I 87 30.0
9 J 95 35.0

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

В следующих руководствах объясняется, как выполнять другие распространенные функции в Python:

Как использовать cbind в Python (эквивалентно R)
Как выполнить ВПР в Pandas
Как удалить строки, содержащие определенное значение в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.