我正在将 SAS 代码转换为 python,但我在 Python 中找不到与此连接方法等效的任何内容?
data have_a;
input ID amount_a;
datalines;
1 10
1 15
1 20
1 30
2 10
;
data have_b;
input ID amount_b;
datalines;
1 12
1 14
2 12
2 14
;
data want;
merge have_a(in=inA) have_b(in=inb);
by id;
if inA and inB;
run;
输出;
ID amount_a amount_b
1 10 12
1 15 14
1 20 14
1 30 14
2 10 12
2 10 14
我尝试过 pd.concat 和 merge 方法,但无法获得上述结果。有没有直接的方法可以在Python中做到这一点? 我试过了;
df1 = pd.DataFrame({'ID': [1, 1, 1, 1, 2], 'A': [10, 15, 20, 30, 10]})
df2 = pd.DataFrame({'ID': [1, 1, 2, 2], 'B': [12, 14, 11, 13]})
pd.concat([df1, df2], axis=1)
输出;
ID A ID B
0 1 10 1.0 12.0
1 1 15 1.0 14.0
2 1 20 2.0 11.0
3 1 30 2.0 13.0
4 2 10 NaN NaN