我有两个数据框,并希望从第一个数据框中选择所有行,其中列的值在第二个数据帧的列的值中。 以下代码给出了我想要的结果:
import pandas as pd
d = {'foo':[100, 111, 222],
'bar':[333, 444, 555]}
df = pd.DataFrame(d)
d2 = {'nr':[100, 111, 222],
'xy':[333, 444, 666]}
df2 = pd.DataFrame(d2)
print (df)
print (df2)
dferg = df[df['bar'] == df2['xy']]
print (dferg)
DF1:
bar foo
0 333 100
1 444 111
2 555 222
DF2:
nr xy
0 100 333
1 111 444
2 222 666
Result:
bar foo
0 333 100
1 444 111
但我想问一下是否有更好或更优雅的方式。