2016-06-11 4 views
1

Ich habe ein Pandas DataFrame mit einer Spalte von ganzen Zahlen. Ich mag die Zeilen mit Zahlen größer als 10. Ich bin in der Lage zu Wahr oder Falsch, aber nicht den tatsächlichen Wert zu bewerten, indem Sie:Wie wähle und speichere ich Spalten, die größer als eine Zahl in Pandas sind?

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

ich Python nicht sehr oft verwenden, so im Kreis Ich werde mit diesem.

ich 20 Minuten damit verbracht habe googeln, aber nicht in der Lage zu finden, was ich brauche ....

Edit:

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 

Antwort

6

Probe 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 

nur die Zeilen anzeigen, in denen 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 

Minimums (für alle Spalten) für die Zeilen b > 10 Zustand

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

Minimum (für die b Spalte) für die Zeilen erfüllt erfüllt b > 10 Bedingung

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

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

+0

Ich habe 'df ['ints'] = df [df.ints> 10]' ausgeführt. Wenn ich jetzt 'df ['ints'] mache. Min()' I get 'ValueError: Kann Float NaN nicht in Ganzzahl umwandeln '?? –

+0

@VinylWarmth, was ist Ihr Ziel? Was willst du erreichen? Willst du Zeilen loswerden, wo 'df.ints <= 10' – MaxU

+0

Ich möchte' df ['ints'] 'nur Zeilen enthalten, in denen' df ['ints'] 'größer als 10 ist. –

Verwandte Themen