我有两个数据框
df1
SR NAME ROLL
1 kk 123
2 mm 456
3 pp 789
4 hh 891
df2
ID Marks
143 45
123 65
我想结合起来使输出看起来像
df3
SR NAME ROLL Id marks
1 kk 123 143 45
2 mm 456 123 65
输出行应与第二个数据帧相同
假设上面的df1
有4行,df2
有2行
输出df3
应该只有2个(注意:两者中没有共同的列)
答案 0 :(得分:1)
您可以使用pandas concat连接两个数据框,并删除所有包含NA
的行
dat1 = pd.DataFrame({'NAME': ['kk','mm','pp','hh'],'ROLE':[123,456,789,891]})
dat2 = pd.DataFrame({'ID': [123,143],'MARKS':[45,65]})
df3 = pd.concat([dat1, dat2], axis=1).dropna(how='any')
df3
NAME ROLE ID MARKS
0 kk 123 123.0 45.0
1 mm 456 143.0 65.0
答案 1 :(得分:0)
此:
df3 = pd.merge(df1,df2, left_on=df1.index, right_on=df2.index).drop('key_0',axis=1)
出站:
SR NAME ROLL ID Marks
0 1 kk 123 143 45
1 2 mm 456 123 65
答案 2 :(得分:0)
import pandas as pd
pd.concat([df1,df2],axis=1).dropna()
输出将是:
SR NAME ROLL Id marks
1 kk 123 143 45
2 mm 456 123 65