Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การจัดทำดัชนีบูลีนใน Pandas


การทำดัชนีบูลีนช่วยให้เราเลือกข้อมูลจาก DataFrames โดยใช้เวกเตอร์บูลีน เราต้องการ DataFrame ที่มีดัชนีบูลีนเพื่อใช้การจัดทำดัชนีบูลีน มาดูวิธีการสร้างดัชนีบูลีนกัน

  • สร้างพจนานุกรมข้อมูล
  • แปลงเป็นวัตถุ DataFrame โดยมีดัชนีบูลีนเป็นเวกเตอร์
  • ตอนนี้ เข้าถึงข้อมูลโดยใช้การจัดทำดัชนีบูลีน

ดูตัวอย่างด้านล่างเพื่อรับแนวคิด

ตัวอย่าง

import pandas as pd
# data
data = {
   'Name': ['Hafeez', 'Srikanth', 'Rakesh'],
   'Age': [19, 20, 19]
}
# creating a DataFrame with boolean index vector
data_frame = pd.DataFrame(data, index = [True, False, True])
print(data_frame)

ผลลัพธ์

หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

          Name   Age
True    Hafeez   19
False Srikanth   20
True    Rakesh   19

ตอนนี้ เราสามารถเข้าถึง DataFrame ได้โดยส่งบูลีนไปยังเมธอด loc[], iloc[], ix[] มาดูกันให้หมด

ตัวอย่าง

# accessing using .loc()
print(data_frame.loc[True])

ผลลัพธ์

หากรันโค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

       Name  Age
True Hafeez   19
True Rakesh   19

ตัวอย่าง

# accessing using .iloc()
print(data_frame.iloc[1]) # iloc methods takes only integers so, we are passing 1 i
nsted of True. Both are same.

ผลลัพธ์

หากรันโค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

Name Srikanth
Age 20
dtype: object

ตัวอย่าง

# accessing using .ix[]
# we can pass both boolean or integer values to .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

อีกวิธีหนึ่งในการใช้ดัชนีบูลีนคือส่งเวกเตอร์บูลีนไปยัง DataFrame โดยตรง มันจะพิมพ์แถวทั้งหมดที่มีค่า True มาดูตัวอย่างกัน

ตัวอย่าง

import pandas as pd
# data
data = {
   'Name': ['Hafeez', 'Srikanth', 'Rakesh'],
   'Age': [19, 20, 19]
}
# creating a DataFrame with boolean index vector
data_frame = pd.DataFrame(data)
print(data_frame)

ผลลัพธ์

หากรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

      Name    Age
0   Hafeez    19
1 Srikanth    20
2   Rakesh    19

ตอนนี้ เราสามารถส่งต่อเวกเตอร์บูลีนไปยัง DataFrame เพื่อเข้าถึงข้อมูลได้

ตัวอย่าง

# passing boolean vector to data_frame index
print(data_frame[[True, True, False]])

ผลลัพธ์

หากรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้ เราได้เฉพาะแถวที่ จริง

      Name Age
0   Hafeez 19
1 Srikanth 20

บทสรุป

หากคุณมีข้อสงสัยเกี่ยวกับดัชนีบูลีน โปรดแจ้งให้เราทราบในส่วนความคิดเห็น