в рrbindФункция, сокращенно от _row-bind_, может использоваться для группировки фреймов данных по количеству их строк.
Мы можем использовать пандconcat()функция для выполнения эквивалента в Python.
df3 = pd.concat([df1, df2])
В следующем примере показано, как использовать эту функцию на практике.
Пример 1: Использование rbind в Python с одинаковым количеством столбцов
Предположим, у нас есть следующие два кадра данных pandas.
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() для связывания двух строк DataFrame с неравным количеством столбцов, любые отсутствующие значения будут просто заполнены 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