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