2015-12-19 119 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