Trăn chỉ số Bool

np.arange[100,1,-1]
array[[100,  99,  98,  97,  96,  95,  94,  93,  92,  91,  90,  89,  88,
        87,  86,  85,  84,  83,  82,  81,  80,  79,  78,  77,  76,  75,
        74,  73,  72,  71,  70,  69,  68,  67,  66,  65,  64,  63,  62,
        61,  60,  59,  58,  57,  56,  55,  54,  53,  52,  51,  50,  49,
        48,  47,  46,  45,  44,  43,  42,  41,  40,  39,  38,  37,  36,
        35,  34,  33,  32,  31,  30,  29,  28,  27,  26,  25,  24,  23,
        22,  21,  20,  19,  18,  17,  16,  15,  14,  13,  12,  11,  10,
         9,   8,   7,   6,   5,   4,   3,   2]]

x=np.arange[100,1,-1]

np.where[x&[x-1] == 0]
[array[[36, 68, 84, 92, 96, 98]],]

Bây giờ viết lại như thế này

x[x&[x-1] == 0]

Thật thú vị khi các giá trị Boolean có thể được sử dụng làm chỉ mục trong khung dữ liệu? . Lập chỉ mục Boolean có thể giúp chúng tôi lọc dữ liệu không cần thiết khỏi tập dữ liệu. Lọc dữ liệu có thể giúp bạn có được một số thông tin chuyên sâu mà nếu không thì không thể tìm thấy. Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng lập chỉ mục Boolean để lọc và phân đoạn dữ liệu. Vì vậy, hãy bắt đầu

Lập chỉ mục Boolean trong Python

Hãy bắt đầu bằng cách tạo DataFrame. Chúng tôi sẽ tạo DataFrame bằng cách sử dụng dữ liệu về độ tuổi của một nhóm ứng viên tham gia cuộc thi

import pandas as pd
# Creating a dictionary
data = {'Name':["Tommy","Linda","Justin","Brendon"], 'Age':[31,24,16,22]}
df = pd.DataFrame[data,index=[True,False,True,False]]
print[df]

đầu ra

        Name         Age
True     Tommy   31
False    Linda   24
True    Justin   16
False  Brendon   22

1. Sử dụng. chức năng định vị []

Đây là một chức năng tuyệt vời và đơn giản có thể giúp bạn lọc dữ liệu của mình theo chỉ số Boolean. Sử dụng chức năng này, chúng ta có thể lọc ra dữ liệu với một giá trị Boolean cụ thể. Giả sử chúng ta chuyển True sang. loc [] thì chúng ta sẽ chỉ lấy dữ liệu đã lọc có giá trị chỉ số là True. Chúng tôi không thể sử dụng số nguyên làm giá trị Boolean trong phương thức này

Ví dụ

import pandas as pd
# Creating a dictionary
data = {'Name':["Tommy","Linda","Justin","Brendon"], 'Age':[31,24,16,22]}
df = pd.DataFrame[data,index=[True,False,True,False]]
print[df.loc[True]]

đầu ra

        Name       Age
True   Tommy   31
True  Justin   16

2. sử dụng. hàm iloc[]

Hàm iloc[] chỉ nhận giá trị nguyên nên chúng ta cần truyền giá trị nguyên cho hàm

Ví dụ

import pandas as pd
# Creating a dictionary
data = {'Name':["Tommy","Linda","Justin","Brendon"], 'Age':[31,24,16,22]}
df = pd.DataFrame[data,index=[1,0,0,1]]
print[df.iloc[1]]

đầu ra

Name    Linda
Age        24
Name: 0, dtype: object

3. Sử dụng. hàm ix[]

Đây cũng là một loại phương thức tương tự như phương thức trên, nhưng chúng ta có thể sử dụng số nguyên làm giá trị Boolean trong trường hợp này. Vì vậy, chẳng hạn, nếu chúng ta gán giá trị chỉ mục là 1 và 0, chúng ta có thể lọc các hàng có giá trị chỉ mục là 0 hoặc 1

________số 8

đầu ra

           Name       Age
0       Justin          16
0       Brendon     22

Phần kết luận

Tóm lại, chúng ta đã học cách sử dụng lập chỉ mục boolean trong python và lọc dữ liệu hữu ích. Hy vọng bạn thấy bài viết này hữu ích

Nhiều thư viện Python liên quan đến khoa học dữ liệu hỗ trợ khái niệm lập chỉ mục boolean [Lập chỉ mục trên ndarrays — NumPy v1. 22 Sách hướng dẫn]. Tôi muốn đề xuất phiên bản giới hạn của khái niệm này có thể hữu ích cho các lập trình viên Python thông thường

Đôi khi, một người không muốn [hoặc không thể vì yêu cầu kinh doanh] nhập các thư viện như pandas hoặc numpy với tất cả chuông và còi của chúng, nhưng vẫn muốn cách lọc danh sách ngắn gọn và hiệu quả

Ý tưởng

Ý tưởng của tôi là cho phép lập chỉ mục danh sách bằng cách sử dụng danh sách các booleans có cùng độ dài

Để đưa ra một ví dụ

x[x&[x-1] == 0]
0

Tương tự cũng sẽ làm việc cho các bài tập. Độ dài danh sách được chỉ định sẽ cần phải bằng số True trong các chỉ số

x[x&[x-1] == 0]
1

Tôi đã viết một bản vá mẫu ngắn dành riêng cho danh sách. Tôi đoán khái niệm có thể được mở rộng sang các trình tự khác, nhưng trước tiên muốn xem liệu ý tưởng có được bất kỳ lực kéo nào không

điểm chuẩn

Sử dụng bản vá đi kèm, tôi đã viết các điểm chuẩn ngắn;

  1. "nhận được"

    x[x&[x-1] == 0]
    
    2

    thời gian chạy [ubuntu 20. 04, i7-4700hq]. 32. thập niên 80

    x[x&[x-1] == 0]
    
    3

    thời gian chạy [ubuntu 20. 04, i7-4700hq]. 12. 05s

  2. "thiết lập các mục"

    hai cái đó không hoàn toàn tương đương vì phiên bản của tôi phân bổ bộ nhớ cho một danh sách nữa ở dòng cuối cùng [lập chỉ mục getitem phân bổ danh sách mới tương tự như với cắt]

    x[x&[x-1] == 0]
    
    4

    thời gian chạy [ubuntu 20. 04, i7-4700hq]. 50. 14s

    x[x&[x-1] == 0]
    
    5

    thời gian chạy [ubuntu 20. 04, i7-4700hq]. 11. những năm 92

Mã của tôi là bằng chứng về khái niệm, vì vậy tôi hy vọng phiên bản cuối cùng sẽ chậm hơn do kiểm tra an toàn, nhưng đối với tôi, tính đồng nhất và lợi ích về hiệu suất có vẻ thú vị

Nếu có hứng thú với khái niệm này, tôi có thể dành thời gian thực hiện. Cho tôi biết bạn nghĩ gì

Lập chỉ mục boolean trong Python NumPy là gì?

Chúng tôi cũng có thể lập chỉ mục các mảng NumPy bằng cách sử dụng một mảng NumPy gồm các giá trị boolean trên một trục để chỉ định các chỉ số mà chúng tôi muốn truy cập . multi_arr = np. sắp xếp[12]. định hình lại [3,4] Điều này sẽ tạo một mảng NumPy có kích thước 3x4 [3 hàng và 4 cột] với các giá trị từ 0 đến 11 [không bao gồm giá trị 12].

Lập chỉ mục boolean có nghĩa là gì?

Lập chỉ mục boolean được dùng để lọc dữ liệu thông qua việc sử dụng các vectơ boolean . Các vectơ boolean được tạo ở phần phụ trợ đối với điều kiện đã cho và tất cả các giá trị so với giá trị "true" sau đó được trả về. Được tạo bằng vải. js 3. 6. 6 Mảng1 11 4 7 6 5. Xác định một mảng.

lập chỉ mục boolean giải thích với ví dụ là gì?

Lập chỉ mục Boolean được định nghĩa là một tính năng rất quan trọng của numpy, thường được sử dụng trong pandas. Nhiệm vụ chính của nó là sử dụng các giá trị thực của dữ liệu trong DataFrame . Chúng ta có thể lọc dữ liệu trong lập chỉ mục boolean theo nhiều cách khác nhau, như sau. Truy cập DataFrame bằng chỉ mục boolean.

Có thể lập chỉ mục boolean trong DataFrame không?

Lập chỉ mục Boolean giúp chúng tôi chọn dữ liệu từ DataFrames bằng cách sử dụng vectơ boolean . Chúng tôi cần một DataFrame có chỉ mục boolean để sử dụng chỉ mục boolean.

Chủ Đề