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

ลบคอลัมน์ที่มีค่า NaN ทั้งหมดใน Pandas ด้วย dropna(how='all')

ใช้เมธอด dropna() พร้อมพารามิเตอร์ how='all' และ axis=1 เพื่อลบคอลัมน์ที่มีค่า NaN ทุกแถว (คอลัมน์ว่างเปล่าทั้งหมด)

ตัวอย่างโค้ด

import pandas as pd
import numpy as np

# สร้าง DataFrame มีคอลัมน์ Result เป็น NaN ทั้งหมด
df = pd.DataFrame({
    "Student": ['Jack', 'Robin', 'Ted', 'Robin', 'Scarlett', 'Kat', 'Ted'],
    "Result": [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]
})

print("DataFrame ต้นฉบับ:\n", df)

# ลบคอลัมน์ที่ NaN ทั้งคอลัมน์
df.dropna(how='all', axis=1, inplace=True)
print("\nDataFrame หลังลบคอลัมน์ NaN ทั้งหมด:\n", df)

ผลลัพธ์

DataFrame ต้นฉบับ:
   Result  Student
0     NaN     Jack
1     NaN    Robin
2     NaN      Ted
3     NaN    Robin
4     NaN  Scarlett
5     NaN      Kat
6     NaN      Ted

DataFrame หลังลบคอลัมน์ NaN ทั้งหมด:
  Student
0    Jack
1   Robin
2     Ted
3   Robin
4  Scarlett
5     Kat
6     Ted

คอลัมน์ Result ถูกลบออก เพราะทุกแถวเป็น NaN พารามิเตอร์ inplace=True ทำให้เปลี่ยน DataFrame ตัวเดิมโดยไม่ต้อง assign ใหม่