2016-06-11 21 views
1

我有一個整數列的熊貓數據框。我想包含數字比10。我能夠評估真或假,但不是實際的值越大,行,這樣做:如何在大熊貓中選擇和存儲大於數字的列?

df['ints'] = df['ints'] > 10 

我不使用Python很多時候,所以我轉圈圈有了這個。

我花了20分鐘,但谷歌搜索一直沒能找到我需要的....

編輯:

observationID recordKey gridReference siteKey siteName featureKey startDate endDate pTaxonVersionKey taxonName authority commonName ints 
0 463166539 1767 SM90 NaN NaN 150161 12/02/2006 12/02/2006 NBNSYS0100004720 Pipistrellus pygmaeus (Leach, 1825) Soprano Pipistrelle 2006 
1 463166623 4325 TL65 NaN NaN 168651 21/12/2008 21/12/2008 NHMSYS0020001355 Pipistrellus pipistrellus sensu stricto (Schreber, 1774) Common Pipistrelle 2008 
2 463166624 4326 TL65 NaN NaN 168651 18/01/2009 18/01/2009 NHMSYS0020001355 Pipistrellus pipistrellus sensu stricto (Schreber, 1774) Common Pipistrelle 2009 
3 463166625 4327 TL65 NaN NaN 168651 15/02/2009 15/02/2009 NHMSYS0020001355 Pipistrellus pipistrellus sensu stricto (Schreber, 1774) Common Pipistrelle 2009 
4 463166626 4328 TL65 NaN NaN 168651 19/12/2009 19/12/2009 NHMSYS0020001355 Pipistrellus pipistrellus sensu stricto (Schreber, 1774) Common Pipistrelle 2009 

回答

6

樣品DF:

In [79]: df = pd.DataFrame(np.random.randint(5, 15, (10, 3)), columns=list('abc')) 

In [80]: df 
Out[80]: 
    a b c 
0 6 11 11 
1 14 7 8 
2 13 5 11 
3 13 7 11 
4 13 5 9 
5 5 11 9 
6 9 8 6 
7 5 11 10 
8 8 10 14 
9 7 14 13 

只顯示那些行b > 10

In [81]: df[df.b > 10] 
Out[81]: 
    a b c 
0 6 11 11 
5 5 11 9 
7 5 11 10 
9 7 14 13 

最低金額(所有列)的行滿足b > 10條件

In [82]: df[df.b > 10].min() 
Out[82]: 
a  5 
b 11 
c  9 
dtype: int32 

最低(對於b列)的行滿足b > 10條件

In [84]: df.loc[df.b > 10, 'b'].min() 
Out[84]: 11 

UPDATE:從Pandas開始0.20.1 the .ix indexer is deprecated, in favor of the more strict .iloc and .loc indexers

+0

我做了'df ['ints'] = df [df.ints> 10]'執行。現在當我做'df ['ints']。min()'我得到'ValueError:不能將浮點數NaN轉換爲整數'? –

+0

@VinylWarmth,你的目標是什麼?你想實現什麼?你想擺脫行'df.ints <= 10' – MaxU

+0

我想'df ['ints']'只包含其中'df ['ints']'大於10的行.. –