Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chỉ mục boolean (Boolean Indexing) trong Pandas

Chỉ mục boolean giúp chọn dữ liệu từ DataFrame bằng vector boolean. Cần DataFrame có chỉ mục boolean để sử dụng. Xem cách thực hiện:

  • Tạo dictionary dữ liệu.
  • Chuyển thành DataFrame với chỉ mục boolean dạng vector.
  • Truy cập dữ liệu bằng chỉ mục boolean.

Ví dụ

import pandas as pd

# Dữ liệu
data = {
    'Name': ['Hafeez', 'Srikanth', 'Rakesh'],
    'Age': [19, 20, 19]
}

# Tạo DataFrame với vector chỉ mục boolean
data_frame = pd.DataFrame(data, index=[True, False, True])
print(data_frame)

Kết quả

     Name  Age
True  Hafeez   19
False Srikanth  20
True  Rakesh   19

Bây giờ có thể truy cập DataFrame bằng boolean qua loc[], iloc[], ix[].

Ví dụ: .loc()

print(data_frame.loc[True])
     Name  Age
True  Hafeez   19
True  Rakesh   19

Ví dụ: .iloc()

print(data_frame.iloc[1])  # iloc chỉ nhận số nguyên, 1 thay cho True
Name    Srikanth
Age          20
dtype: object

Ví dụ: .ix[]

print(data_frame.ix[True])
print()
print(data_frame.ix[1])
     Name  Age
True  Hafeez   19
True  Rakesh   19

Name    Srikanth
Age          20
dtype: object

Cách khác: truyền vector boolean trực tiếp vào DataFrame. Nó in tất cả hàng có giá trị True.

Ví dụ

import pandas as pd
data = {
    'Name': ['Hafeez', 'Srikanth', 'Rakesh'],
    'Age': [19, 20, 19]
}
data_frame = pd.DataFrame(data)
print(data_frame)
     Name  Age
0  Hafeez   19
1  Srikanth  20
2  Rakesh   19

Ví dụ: truyền vector boolean

print(data_frame[[True, True, False]])
     Name  Age
0  Hafeez   19
1  Srikanth  20

Kết luận

Nếu có thắc mắc về chỉ mục boolean, hãy bình luận.