如果从df1
所有列在df2
使用子集:
df3 = df2[df1.columns]
样品:
df1 = pd.DataFrame({'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'D':[7,8,9,4,2,3]})
df2 = pd.DataFrame({'A':list('erthju'),
'B':[40,50,40,50,50,40],
'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')})
df3 = df2[df1.columns]
print (df3)
A B D
0 e 40 1
1 r 50 3
2 t 40 5
3 h 50 7
4 j 50 1
5 u 40 0
如果有可能不同的列:
df3 = df2[df1.columns.intersection(df2.columns)]
样品:
df1 = pd.DataFrame({'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'G':[7,8,9,4,2,3]})
df2 = pd.DataFrame({'A':list('erthju'),
'B':[40,50,40,50,50,40],
'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')})
df3 = df2[df1.columns.intersection(df2.columns)]
print (df3)
A B
0 e 40
1 r 50
2 t 40
3 h 50
4 j 50
5 u 40
只要'df2 [cols]'会做 – Zero