Python で rbind を使用する方法 (r と同等)


R のrbind関数 ( row-bindの略) を使用すると、データ フレームを行ごとに結合できます。

pandas concat()関数を使用して、Python で同等の関数を実行できます。

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

次の例は、この関数を実際に使用する方法を示しています。

例 1: Python で等しい列を使用して rbind を使用する

次の 2 つのパンダ DataFrame があると仮定します。

 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()関数を使用すると、これら 2 つの 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

新しい DataFrame のインデックス値をリセットするために、 reset_index()を使用することもできることに注意してください。

 #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: 等しくない列を含む Python での rbind の使用

concat()関数を使用して、列数が等しくない 2 つの 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 で他の一般的な関数を実行する方法について説明します。

Python で cbind を使用する方法 (R に相当)
Pandas で VLOOKUP を実行する方法
Pandasで特定の値を含む行を削除する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です