Pandas: วิธีค้นหาค่าที่ไม่ซ้ำและละเว้น nan
คุณสามารถกำหนดฟังก์ชันที่กำหนดเองต่อไปนี้เพื่อค้นหาแพนด้าเพื่อหาค่าที่ไม่ซ้ำและละเว้นค่า NaN:
def unique_no_nan(x): return x. dropna (). single ()
ฟังก์ชันนี้จะส่งคืนชุดแพนด้าที่มีค่าที่ไม่ซ้ำกันทุกค่า ยกเว้นค่า NaN
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในสถานการณ์ต่างๆ กับ Pandas DataFrame ต่อไปนี้:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Mavs', 'Celtics', 'Celtics', 'Celtics'], ' points ': [95, 95, 100, 113, 100, np.nan]}) #view DataFrame print (df) team points 0 Mavs 95.0 1 Mavs 95.0 2 Mavs 100.0 3 Celtics 113.0 4 Celtics 100.0 5 Celtics NaN
ตัวอย่างที่ 1: ค้นหาค่าที่ไม่ซ้ำในคอลัมน์ Pandas และละเว้นค่า NaN
สมมติว่าเราใช้ฟังก์ชัน pandas Unique() เพื่อแสดงค่าที่ไม่ซ้ำทั้งหมดในคอลัมน์ จุด ของ DataFrame:
#display unique values in 'points' column df[' points ']. single () array([ 95., 100., 113., no])
โปรดทราบว่าฟังก์ชัน Unique() จะรวม nan ไว้ในผลลัพธ์ตามค่าเริ่มต้น
อย่างไรก็ตาม สมมติว่าเราใช้ฟังก์ชัน Unique_no_nan() ที่กำหนดเองแทนเพื่อแสดงค่าที่ไม่ซ้ำในคอลัมน์ จุด :
#display unique values in 'points' column and ignore NaN unique_no_nan(df[' points ']) array([ 95., 100., 113.])
ฟังก์ชันของเราส่งคืนค่าที่ไม่ซ้ำทุกค่าในคอลัมน์ จุด ไม่รวม NaN
ตัวอย่างที่ 2: ค้นหาค่าที่ไม่ซ้ำใน Pandas Groupby และละเว้นค่า NaN
สมมติว่าเราใช้ฟังก์ชัน pandas groupby() และ agg() เพื่อแสดงค่าที่ไม่ซ้ำกันทั้งหมดในคอลัมน์ point ซึ่งจัดกลุ่มตามคอลัมน์ ทีม :
#display unique values in 'points' column grouped by team df. groupby (' team ')[' points ']. agg ([' single ']) unique team Celtics [113.0, 100.0, nah] Mavs [95.0, 100.0]
โปรดทราบว่าฟังก์ชัน Unique() จะรวม nan ไว้ในผลลัพธ์ตามค่าเริ่มต้น
อย่างไรก็ตาม สมมติว่าเราใช้ฟังก์ชัน Unique_no_nan() ที่กำหนดเองแทนเพื่อแสดงค่าที่ไม่ซ้ำในคอลัมน์ คะแนน ซึ่งจัดกลุ่มตามคอลัมน์ ทีม :
#display unique values in 'points' column grouped by team and ignore NaN df. groupby (' team ')[' points ']. apply ( lambda x: unique_no_nan(x)) team Celtics [113.0, 100.0] Mavs [95.0, 100.0] Name: points, dtype: object
ฟังก์ชันของเราจะส่งคืนค่าที่ไม่ซ้ำกันทุกค่าในคอลัมน์ คะแนน สำหรับแต่ละ ทีม ไม่นับค่า NaN
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการใช้งานฟังก์ชันทั่วไปอื่น ๆ ในแพนด้า:
Pandas: วิธีเลือกแถวเดี่ยวใน DataFrame
Pandas: วิธีรับค่าที่ไม่ซ้ำจากคอลัมน์ดัชนี
นุ่น: วิธีนับชุดค่าผสมที่ไม่ซ้ำของสองคอลัมน์