การทำดัชนีบูลีนช่วยให้เราเลือกข้อมูลจาก 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
บทสรุป
หากคุณมีข้อสงสัยเกี่ยวกับดัชนีบูลีน โปรดแจ้งให้เราทราบในส่วนความคิดเห็น