2015-12-19 90 views
0

我正在从R转换到Python并尝试在另一个数据框中使用一个字段对数据框进行子集化。什么将是该R代码Python的等效:Python子集与另一个数据帧的数据框

final_solution <- subset(df1, item %in% df2$item) 

感谢

+0

是否使用[熊猫](http://pandas.pydata.org/)? –

+0

是的,我使用的是熊猫 – BlackHat

回答

2

我们可以尝试

df1[(df1.item).isin(df2.item)] 

使用重复的例子(与pandas

import pandas as pd 
df1 = pd.DataFrame({'item' : [1, 2, 3, 4], 
          'fruit' : ['mango', 'apple', 'banana', 'mango']}) 

df2 = pd.DataFrame({'item' : [1, 2]}) 

print(df1[(df1.item).isin(df2.item)]) 

给输出

# fruit item 
#0 mango  1 
#1 apple  2 
+1

正是我在找的东西。 – BlackHat

2

假设你使用的是熊猫,你可以merge

pd.merge(df1, df2, how='inner', on=['df1_col', 'df2_col']) 
+1

另一个很好的选择。 – BlackHat