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

Python Pandas – ค้นหาค่าที่ไม่ซ้ำจากหลายคอลัมน์


หากต้องการค้นหาค่าที่ไม่ซ้ำจากหลายคอลัมน์ ให้ใช้เมธอด unique() สมมติว่าคุณมีประวัติพนักงานที่มี “EmpName” และ “Zone” ใน Pandas DataFrame ของคุณ ชื่อและโซนสามารถซ้ำกันได้ เนื่องจากพนักงานสองคนสามารถมีชื่อคล้ายกันได้ และโซนหนึ่งสามารถมีพนักงานได้มากกว่าหนึ่งคน ในกรณีนั้น หากคุณต้องการชื่อพนักงานที่ไม่ซ้ำ ให้ใช้ unique() สำหรับ DataFrame

ขั้นแรก ให้นำเข้าไลบรารีที่จำเป็น ที่นี่เราได้ตั้ง pd เป็นนามแฝง -

import pandas as pd

ขั้นแรก สร้าง DataFrame เรามีสองคอลัมน์ -

dataFrame = pd.DataFrame(
   {
      "EmpName": ['John', 'Ted', 'Jacob', 'Scarlett', 'Ami', 'Ted', 'Scarlett'],"Zone": ['North', 'South', 'South', 'East', 'West', 'East', 'North']
   }
)

ดึงชื่อพนักงานและโซนที่ไม่ซ้ำจากคอลัมน์ DataFrame “EmpName” และ “Zone” –

{pd.concat([dataFrame['EmpName'],dataFrame['Zone']]).unique()}

ตัวอย่าง

ต่อไปนี้เป็นรหัสที่สมบูรณ์ -

import pandas as pd

# Create DataFrame
dataFrame = pd.DataFrame(
   {
      "EmpName": ['John', 'Ted', 'Jacob', 'Scarlett', 'Ami', 'Ted', 'Scarlett'],"Zone": ['North', 'South', 'South', 'East', 'West', 'East', 'North']
   }
)

print("DataFrame ...\n",dataFrame)

# Fetch unique values from multiple columns
print(f"\nFetching unique Values from the two columns and concatenate them:\n \
{pd.concat([dataFrame['EmpName'],dataFrame['Zone']]).unique()}")

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

DataFrame ...
    EmpName   Zone
0      John  North
1       Ted  South
2     Jacob  South
3  Scarlett   East
4       Ami   West
5       Ted   East
6  Scarlett  North

Fetching unique Values from the two columns and concatenate them:
['John' 'Ted' 'Jacob' 'Scarlett' 'Ami' 'North' 'South' 'East' 'West']