Pandas: วิธีรับค่าที่ไม่ซ้ำจากคอลัมน์ดัชนี


คุณสามารถใช้วิธีการต่อไปนี้เพื่อรับค่าเฉพาะของคอลัมน์ดัชนีของ Pandas DataFrame:

วิธีที่ 1: รับค่าที่ไม่ซ้ำจากคอลัมน์ดัชนี

 df. index . single ()

วิธีที่ 2: รับค่าที่ไม่ซ้ำจากคอลัมน์เฉพาะใน MultiIndex

 df. index . unique (' some_column ')

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่างที่ 1: รับค่าที่ไม่ซ้ำจากคอลัมน์ดัชนี

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4]},
                   index = [0, 1, 1, 1, 2, 2, 3, 4])

#view DataFrame
print (df)

  team points assists
0 to 18 5
1 B 22 7
1 C 19 7
1 D 14 9
2 E 14 12
2 F 11 9
3 G 20 9
4:28 4

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อรับค่าเฉพาะของคอลัมน์ดัชนีของ DataFrame:

 #get unique values from index column 
df. index . single ()

Int64Index([0, 1, 2, 3, 4], dtype='int64')

ผลลัพธ์จะแสดงค่าที่ไม่ซ้ำกันแต่ละค่าในคอลัมน์ดัชนี

นอกจากนี้เรายังสามารถใช้ฟังก์ชัน len() เพื่อนับจำนวนค่าที่ไม่ซ้ำในคอลัมน์ดัชนี:

 #count number of unique values in index column 
len ( df.index.unique ( ))

5

เราจะเห็นว่ามีค่าที่ไม่ซ้ำกัน 5 ค่าในคอลัมน์ดัชนีของ DataFrame

ตัวอย่างที่ 2: รับค่าที่ไม่ซ้ำจากคอลัมน์เฉพาะใน MultiIndex

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd
#define index values
index_names = pd. MultiIndex . from_tuples ([(' West ',' A '),
                                         (' West ', ' A '),
                                         (' West ', ' B '),
                                         (' East ', ' C '),
                                         (' East ', ' C '),
                                         (' East ', ' D ')],
                                       names=[' Division ', ' Team '])

#define data values
data = {' Sales ': [12, 44, 29, 35, 44, 19]}

#createDataFrame
df = pd. DataFrame (data, index=index_names)

#view DataFrame
print (df)

               Sales
Division Team       
West A 12
         At 44
         B29
East C 35
         C 44
         D 19

โปรดทราบว่า DataFrame นี้มี multiIndex

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อรับค่าเฉพาะของคอลัมน์ Team เดียวของ multiIndex:

 #get unique values from Team column in multiIndex
df. index . single (' Team ')

Index(['A', 'B', 'C', 'D'], dtype='object', name='Team')

เอาต์พุตจะแสดงค่าที่ไม่ซ้ำกันสี่ค่าจากคอลัมน์ ทีม ของ multiIndex: A, B, C และ D

เราสามารถใช้ไวยากรณ์ที่คล้ายกันเพื่อแยกค่าที่ไม่ซ้ำจากคอลัมน์ Division ของ multiIndex:

 #get unique values from Division column in multiIndex
df. index . single (' Division ')

Index(['West', 'East'], dtype='object', name='Division')

ผลลัพธ์จะแสดงค่าที่ไม่ซ้ำกันสองค่าของคอลัมน์ แผนก ของ multiIndex: ตะวันตกและตะวันออก

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการใช้งานฟังก์ชันทั่วไปอื่น ๆ ในแพนด้า:

วิธีแปลงดัชนีเป็นคอลัมน์ใน Pandas
วิธีเปลี่ยนชื่อดัชนีใน Pandas
วิธีการตั้งค่าคอลัมน์เป็นดัชนีใน Pandas

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *