2016-09-14 105 views
2

我有一個有2列的數據框。第二列是僅有的幾個值之一。我想創建一個返回數據幀的方法,其中只包含那些列包含特定值的行。如何通過iloc篩選

我有這方面的工作與此驗證碼:

def filterOnName(df1): 
    d1columns = df1.columns 
    return df1[df1[d1columns[1]] == "Jimmy"] 

似乎很令人費解的,不是嗎?我想有一種稱爲iloc的熊貓方法應該清除這個問題,但我在執行時遇到了麻煩。你能解釋我做錯了什麼嗎?

def filterOnName(df1): 
    return df1[df1.iloc[1] == "Jimmy"] 

感謝您的幫助!

+3

你可以試試嗎? 'df1 [df1.iloc [:, 1] ==「Jimmy」]' – ayhan

+0

這就像一個魅力!謝謝 –

回答

3

.iloc的第一個參數用於行。爲了得到第二列,你將需要:

df.iloc[:, 1] 

其中:意味着「所有行」。