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


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

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

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

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

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

Предположим, у нас есть следующие два кадра данных panda:

 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 to 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:85
3 I 87
4 days 95

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

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

#view resulting DataFrame
df3

	team points
0 to 99
1 B 91
2 C 104
3 D 88
4 E 108
0 F 91
1 G 88
2:85
3 I 87
4 days 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 to 99
1 B 91
2 C 104
3 D 88
4 E 108
5 F 91
6 G 88
7:85 a.m.
8 I 87
9 D 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 to 99 NaN
1 B 91 NaN
2 C 104 NaN
3 D 88 NaN
4 E 108 NaN
5 F 91 24.0
6G 88 27.0
7:85 AM 27.0
8 I 87 30.0
9 D 95 35.0

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *