2013-07-02 21 views
6

Jestem stosunkowo nowy w Pythonie/Pandach i mam problemy z wyodrębnieniem poprawnych danych z pd.Dataframe. Co rzeczywiście jest Dataframe z 3 kolumnach:Wyodrębnianie wszystkich wierszy z pandy Dane, które mają określoną wartość w konkretnej kolumnie

data = 

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

co chcę zrobić, to umieścić wszystkie prawdziwego wierszy do nowego Dataframe tak, że odpowiedź byłaby:

answer = 

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

wiem że można uzyskać dostęp do konkretnej kolumny, korzystając z pojedynczej kolumny, ale w jaki sposób wyodrębnić wszystkie wiersze PRAWDA?

Dzięki za wszelką pomoc i poradę,

Alex

+0

możliwe duplikat [? Jak filtrować wiersze DataFrame pand przez „w”/„w”] (http://stackoverflow.com/ pytania/12065885/how-to-filter-the-dataframe-rows-of-pand-by-in-in) – DontDivideByZero

Odpowiedz

13

Można sprawdzić, które wartości są prawdziwe:

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

a następnie za pomocą ozdobnego indeksowanie wyciągnąć te wiersze:

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

* Uwaga: jeśli wartości są w rzeczywistości ciągami 'TRUE' i 'FALSE' (! Prawdopodobnie nie powinno być), a następnie użyć:

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

i kiedy używasz: 'data ['Wartość'] == 'PRAWDA''? –

+1

Nie działa z danymi ["Wartość"] == "PRAWDA", ale działa z danymi [dane ["Wartość"] == Prawda] – user1083734

Powiązane problemy