2013-07-02 13 views
6

Sono relativamente nuovo a Python/Pandas e sto lottando con l'estrazione dei dati corretti da un pd.Dataframe. Quello che in realtà ho è un dataframe con 3 colonne:Estrazione di tutte le righe da panda Dataframe che ha un determinato valore in una colonna specifica

data = 

Position Letter Value 
1  a  TRUE 
2  f  FALSE 
3  c  TRUE 
4  d  TRUE 
5  k  FALSE 

Quello che voglio fare è mettere tutte le righe TRUE in una nuova dataframe in modo che la risposta sarebbe:

answer = 

Position Letter Value 
1  a  TRUE 
3  c  TRUE 
4  d  TRUE 

lo so che è possibile accedere a una particolare colonna utilizzando

data['Value'] 

ma come si estrapolano tutte le righe VERO?

Grazie per qualsiasi aiuto e consiglio,

Alex

+0

possibile duplicato di [? Come filtrare le righe dataframe di panda da "dentro"/"in"] (http://stackoverflow.com/ domande/12065885/how-to-filter-the-dataframe-rows-of-pandas-by-within-in) – DontDivideByZero

risposta

13

È possibile verificare quali valori sono vere:

In [11]: data['Value'] == True 
Out[11]: 
0  True 
1 False 
2  True 
3  True 
4 False 
Name: Value, dtype: bool 

e quindi utilizzare l'indicizzazione di fantasia per tirare fuori le righe:

In [12]: data[data['Value'] == True] 
Out[12]: 
    Position Letter Value 
0   1  a True 
2   3  c True 
3   4  d True 

* Nota: se i valori sono effettivamente le stringhe 'TRUE' e 'FALSE' (! Probabilmente non dovrebbero essere) quindi utilizzare:

data['Value'] == 'TRUE' 
+0

e quando si utilizza: 'data ['Value'] == 'TRUE''? –

+1

Non funziona con i dati ['Value'] == 'TRUE' ma funziona con i dati [data ['Value'] == True] – user1083734

Problemi correlati