2013-07-02 106 views
6

Tôi tương đối mới đối với Python/Pandas và đang vật lộn với việc trích xuất dữ liệu chính xác từ pd.Dataframe. Những gì tôi thực sự có là một Dataframe với 3 cột:Trích xuất tất cả các hàng từ gấu trúc Dataframe có giá trị nhất định trong một cột cụ thể

data = 

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

Những gì tôi muốn làm là đặt tất cả các hàng TRUE thành một Dataframe mới để câu trả lời sẽ là:

answer = 

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

tôi biết bạn có thể truy cập một cột cụ thể bằng cách sử dụng

data['Value'] 

nhưng làm cách nào để trích xuất tất cả các hàng TRUE?

Nhờ sự giúp đỡ và tư vấn,

Alex

+0

có thể trùng lặp [Làm cách nào để lọc các hàng DataFrame của gấu trúc bằng "trong"/"trong"?] (Http://stackoverflow.com/ câu hỏi/12065885/how-to-filter-the-dataframe-hàng-of-pandas-by-in-in) – DontDivideByZero

Trả lời

13

Bạn có thể kiểm tra mà giá trị là True:

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

và sau đó sử dụng chỉ mục ưa thích để kéo ra những hàng:

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

* Lưu ý: nếu các giá trị thực sự là các chuỗi 'TRUE''FALSE' (có thể không nên!), Sau đó sử dụng:

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

và khi bạn sử dụng: 'data ['Value'] == 'TRUE''? –

+1

Nó không hoạt động với dữ liệu ['Giá trị'] == 'TRUE' nhưng không hoạt động với dữ liệu [dữ liệu ['Giá trị'] == Đúng] – user1083734

Các vấn đề liên quan