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で特定の値を含む行を削除する方法